diff --git a/apps/docs/package.json b/apps/docs/package.json index 058e484dcf..0c52d9f977 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -31,7 +31,7 @@ "react-dom": "18.3.1", "react-native": "0.75.2", "react-native-gesture-handler": "^2.18.1", - "react-native-reanimated": "^3.15.1", + "react-native-reanimated": "^3.16.5", "url-loader": "^4.1.1" }, "devDependencies": { diff --git a/apps/fabric/.eslintrc b/apps/example/.eslintrc similarity index 100% rename from apps/fabric/.eslintrc rename to apps/example/.eslintrc diff --git a/apps/example/.gitignore b/apps/example/.gitignore new file mode 100644 index 0000000000..65aa665cbc --- /dev/null +++ b/apps/example/.gitignore @@ -0,0 +1,16 @@ +*.binlog +*.hprof +*.xcworkspace/ +*.zip +.DS_Store +.gradle/ +.idea/ +.vs/ +.xcode.env +Pods/ +build/ +dist/* +!dist/.gitignore +local.properties +msbuild.binlog +node_modules/ diff --git a/apps/fabric/.watchmanconfig b/apps/example/.watchmanconfig similarity index 100% rename from apps/fabric/.watchmanconfig rename to apps/example/.watchmanconfig diff --git a/apps/example/App.tsx b/apps/example/App.tsx new file mode 100644 index 0000000000..125fe1b98e --- /dev/null +++ b/apps/example/App.tsx @@ -0,0 +1,118 @@ +/** + * Sample React Native App + * https://github.com/facebook/react-native + * + * @format + */ + +import React from 'react'; +import type {PropsWithChildren} from 'react'; +import { + SafeAreaView, + ScrollView, + StatusBar, + StyleSheet, + Text, + useColorScheme, + View, +} from 'react-native'; + +import { + Colors, + DebugInstructions, + Header, + LearnMoreLinks, + ReloadInstructions, +} from 'react-native/Libraries/NewAppScreen'; + +type SectionProps = PropsWithChildren<{ + title: string; +}>; + +function Section({children, title}: SectionProps): React.JSX.Element { + const isDarkMode = useColorScheme() === 'dark'; + return ( + + + {title} + + + {children} + + + ); +} + +function App(): React.JSX.Element { + const isDarkMode = useColorScheme() === 'dark'; + + const backgroundStyle = { + backgroundColor: isDarkMode ? Colors.darker : Colors.lighter, + }; + + return ( + + + +
+ +
+ Edit App.tsx to change this + screen and then come back to see your edits. +
+
+ +
+
+ +
+
+ Read the docs to discover what to do next: +
+ +
+ + + ); +} + +const styles = StyleSheet.create({ + sectionContainer: { + marginTop: 32, + paddingHorizontal: 24, + }, + sectionTitle: { + fontSize: 24, + fontWeight: '600', + }, + sectionDescription: { + marginTop: 8, + fontSize: 18, + fontWeight: '400', + }, + highlight: { + fontWeight: '700', + }, +}); + +export default App; diff --git a/apps/fabric/__tests__/App.test.tsx b/apps/example/__tests__/App.test.tsx similarity index 100% rename from apps/fabric/__tests__/App.test.tsx rename to apps/example/__tests__/App.test.tsx diff --git a/apps/example/android/build.gradle b/apps/example/android/build.gradle new file mode 100644 index 0000000000..d8bcc3aeb1 --- /dev/null +++ b/apps/example/android/build.gradle @@ -0,0 +1,43 @@ +buildscript { + apply(from: { + def searchDir = rootDir.toPath() + do { + def p = searchDir.resolve("node_modules/react-native-test-app/android/dependencies.gradle") + if (p.toFile().exists()) { + return p.toRealPath().toString() + } + } while (searchDir = searchDir.getParent()) + throw new GradleException("Could not find `react-native-test-app`"); + }()) + + repositories { + mavenCentral() + google() + } + + dependencies { + getReactNativeDependencies().each { dependency -> + classpath(dependency) + } + } +} + +allprojects { + repositories { + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url({ + def searchDir = rootDir.toPath() + do { + def p = searchDir.resolve("node_modules/react-native/android") + if (p.toFile().exists()) { + return p.toRealPath().toString() + } + } while (searchDir = searchDir.getParent()) + throw new GradleException("Could not find `react-native`"); + }()) + } + mavenCentral() + google() + } +} diff --git a/apps/example/android/gradle.properties b/apps/example/android/gradle.properties new file mode 100644 index 0000000000..a713e83e31 --- /dev/null +++ b/apps/example/android/gradle.properties @@ -0,0 +1,53 @@ +# 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 Gradle Daemon. The setting is +# particularly useful for configuring JVM memory settings for build performance. +# This does not affect the JVM settings for the Gradle client VM. +# The default is `-Xmx512m -XX:MaxMetaspaceSize=256m`. +org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will fork up to org.gradle.workers.max JVMs to execute +# projects in parallel. To learn more about parallel task execution, see the +# section on Gradle build performance: +# https://docs.gradle.org/current/userguide/performance.html#parallel_execution. +# Default is `false`. +#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 +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true +# Jetifier randomly fails on these libraries +android.jetifier.ignorelist=hermes-android,react-android + +# 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. +# Note that this is incompatible with web debugging. +#newArchEnabled=true +#bridgelessEnabled=true + +# Uncomment the line below to build React Native from source. +#react.buildFromSource=true + +# Version of Android NDK to build against. +#ANDROID_NDK_VERSION=26.1.10909125 + +# Version of Kotlin to build against. +#KOTLIN_VERSION=1.8.22 diff --git a/apps/fabric/android/gradle/wrapper/gradle-wrapper.jar b/apps/example/android/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from apps/fabric/android/gradle/wrapper/gradle-wrapper.jar rename to apps/example/android/gradle/wrapper/gradle-wrapper.jar diff --git a/apps/fabric/android/gradle/wrapper/gradle-wrapper.properties b/apps/example/android/gradle/wrapper/gradle-wrapper.properties similarity index 94% rename from apps/fabric/android/gradle/wrapper/gradle-wrapper.properties rename to apps/example/android/gradle/wrapper/gradle-wrapper.properties index 6f7a6eb33e..a4413138c9 100644 --- a/apps/fabric/android/gradle/wrapper/gradle-wrapper.properties +++ b/apps/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/apps/fabric/android/gradlew b/apps/example/android/gradlew similarity index 100% rename from apps/fabric/android/gradlew rename to apps/example/android/gradlew diff --git a/apps/fabric/android/gradlew.bat b/apps/example/android/gradlew.bat similarity index 100% rename from apps/fabric/android/gradlew.bat rename to apps/example/android/gradlew.bat diff --git a/apps/example/android/settings.gradle b/apps/example/android/settings.gradle new file mode 100644 index 0000000000..612dde37bf --- /dev/null +++ b/apps/example/android/settings.gradle @@ -0,0 +1,21 @@ +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() + google() + } +} + +rootProject.name = "skia-example" + +apply(from: { + def searchDir = rootDir.toPath() + do { + def p = searchDir.resolve("node_modules/react-native-test-app/test-app.gradle") + if (p.toFile().exists()) { + return p.toRealPath().toString() + } + } while (searchDir = searchDir.getParent()) + throw new GradleException("Could not find `react-native-test-app`"); +}()) +applyTestAppSettings(settings) diff --git a/apps/example/app.json b/apps/example/app.json new file mode 100644 index 0000000000..536a3d7489 --- /dev/null +++ b/apps/example/app.json @@ -0,0 +1,34 @@ +{ + "name": "skia-example", + "displayName": "skia-example", + "singleApp": "skia-example", + "components": [ + { + "appKey": "skia-example", + "displayName": "React Native Skia", + "slug": "skia-example" + } + ], + "resources": { + "android": [ + "dist/res", + "dist/main.android.jsbundle" + ], + "ios": [ + "dist/assets", + "dist/main.ios.jsbundle" + ], + "macos": [ + "dist/assets", + "dist/main.macos.jsbundle" + ], + "visionos": [ + "dist/assets", + "dist/main.visionos.jsbundle" + ], + "windows": [ + "dist/assets", + "dist/main.windows.bundle" + ] + } +} diff --git a/apps/fabric/babel.config.js b/apps/example/babel.config.js similarity index 100% rename from apps/fabric/babel.config.js rename to apps/example/babel.config.js index 3337d21fb9..71ea93564c 100644 --- a/apps/fabric/babel.config.js +++ b/apps/example/babel.config.js @@ -1,7 +1,7 @@ module.exports = { presets: ['module:@react-native/babel-preset'], plugins: [ - 'react-native-reanimated/plugin', 'transform-inline-environment-variables', + 'react-native-reanimated/plugin', ] }; diff --git a/apps/fabric/index.js b/apps/example/index.js similarity index 52% rename from apps/fabric/index.js rename to apps/example/index.js index b5568a8181..78b373515d 100644 --- a/apps/fabric/index.js +++ b/apps/example/index.js @@ -2,9 +2,8 @@ * @format */ -import { AppRegistry } from "react-native"; - +import {AppRegistry} from 'react-native'; import App from "./src/App"; -import { name as appName } from "./app.json"; +import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App); diff --git a/apps/example/ios/Podfile b/apps/example/ios/Podfile new file mode 100644 index 0000000000..8a92367ee3 --- /dev/null +++ b/apps/example/ios/Podfile @@ -0,0 +1,9 @@ +ws_dir = Pathname.new(__dir__) +ws_dir = ws_dir.parent until + File.exist?("#{ws_dir}/node_modules/react-native-test-app/test_app.rb") || + ws_dir.expand_path.to_s == '/' +require "#{ws_dir}/node_modules/react-native-test-app/test_app.rb" + +workspace 'skia-example.xcworkspace' + +use_test_app! :hermes_enabled => true diff --git a/apps/fabric/ios/Podfile.lock b/apps/example/ios/Podfile.lock similarity index 94% rename from apps/fabric/ios/Podfile.lock rename to apps/example/ios/Podfile.lock index 8134d85a41..1789abbf68 100644 --- a/apps/fabric/ios/Podfile.lock +++ b/apps/example/ios/Podfile.lock @@ -1238,71 +1238,7 @@ PODS: - ReactCommon/turbomodule/core - Yoga - react-native-safe-area-context (4.10.9): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - react-native-safe-area-context/common (= 4.10.9) - - react-native-safe-area-context/fabric (= 4.10.9) - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - Yoga - - react-native-safe-area-context/common (4.10.9): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - Yoga - - react-native-safe-area-context/fabric (4.10.9): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - react-native-safe-area-context/common - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - Yoga - react-native-skia (0.0.0): - DoubleConversion - glog @@ -1339,7 +1275,6 @@ PODS: - React-featureflags - React-graphics - React-ImageManager - - react-native-slider/common (= 4.5.2) - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1348,7 +1283,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-slider/common (4.5.2): + - react-native-wgpu (0.1.19): - DoubleConversion - glog - hermes-engine @@ -1629,7 +1564,7 @@ PODS: - React-logger (= 0.75.2) - React-perflogger (= 0.75.2) - React-utils (= 0.75.2) - - RNGestureHandler (2.18.1): + - ReactNativeHost (0.5.0): - DoubleConversion - glog - hermes-engine @@ -1637,6 +1572,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-cxxreact - React-debug - React-Fabric - React-featureflags @@ -1650,30 +1586,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNReanimated (3.15.1): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety + - ReactTestApp-DevSupport (4.0.2): - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - RNReanimated/reanimated (= 3.15.1) - - RNReanimated/worklets (= 3.15.1) - - Yoga - - RNReanimated/reanimated (3.15.1): + - React-jsi + - ReactTestApp-Resources (1.0.0-dev) + - RNGestureHandler (2.18.1): - DoubleConversion - glog - hermes-engine @@ -1694,7 +1611,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNReanimated/worklets (3.15.1): + - RNReanimated (3.16.5): - DoubleConversion - glog - hermes-engine @@ -1714,8 +1631,10 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - RNReanimated/reanimated (= 3.16.5) + - RNReanimated/worklets (= 3.16.5) - Yoga - - RNScreens (4.3.0): + - RNReanimated/reanimated (3.16.5): - DoubleConversion - glog - hermes-engine @@ -1730,15 +1649,14 @@ PODS: - React-ImageManager - React-NativeModulesApple - React-RCTFabric - - React-RCTImage - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNScreens/common (= 4.3.0) + - RNReanimated/reanimated/apple (= 3.16.5) - Yoga - - RNScreens/common (4.3.0): + - RNReanimated/reanimated/apple (3.16.5): - DoubleConversion - glog - hermes-engine @@ -1753,14 +1671,13 @@ PODS: - React-ImageManager - React-NativeModulesApple - React-RCTFabric - - React-RCTImage - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNSVG (15.6.0): + - RNReanimated/worklets (3.16.5): - DoubleConversion - glog - hermes-engine @@ -1780,9 +1697,8 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNSVG/common (= 15.6.0) - Yoga - - RNSVG/common (15.6.0): + - RNScreens (3.35.0): - DoubleConversion - glog - hermes-engine @@ -1797,12 +1713,15 @@ PODS: - React-ImageManager - React-NativeModulesApple - React-RCTFabric + - React-RCTImage - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga + - RNSVG (15.6.0): + - React-Core - SocketRocket (0.7.0) - Yoga (0.0.0) @@ -1847,6 +1766,7 @@ DEPENDENCIES: - react-native-safe-area-context (from `../../../node_modules/react-native-safe-area-context`) - "react-native-skia (from `../../../node_modules/@shopify/react-native-skia`)" - "react-native-slider (from `../../../node_modules/@react-native-community/slider`)" + - react-native-wgpu (from `../../../node_modules/react-native-wgpu`) - 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`) @@ -1873,6 +1793,9 @@ DEPENDENCIES: - React-utils (from `../../../node_modules/react-native/ReactCommon/react/utils`) - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`) + - "ReactNativeHost (from `../../../node_modules/@rnx-kit/react-native-host`)" + - ReactTestApp-DevSupport (from `../../../node_modules/react-native-test-app`) + - ReactTestApp-Resources (from `..`) - RNGestureHandler (from `../../../node_modules/react-native-gesture-handler`) - RNReanimated (from `../../../node_modules/react-native-reanimated`) - RNScreens (from `../../../node_modules/react-native-screens`) @@ -1961,6 +1884,8 @@ EXTERNAL SOURCES: :path: "../../../node_modules/@shopify/react-native-skia" react-native-slider: :path: "../../../node_modules/@react-native-community/slider" + react-native-wgpu: + :path: "../../../node_modules/react-native-wgpu" React-nativeconfig: :path: "../../../node_modules/react-native/ReactCommon" React-NativeModulesApple: @@ -2013,6 +1938,12 @@ EXTERNAL SOURCES: :path: build/generated/ios ReactCommon: :path: "../../../node_modules/react-native/ReactCommon" + ReactNativeHost: + :path: "../../../node_modules/@rnx-kit/react-native-host" + ReactTestApp-DevSupport: + :path: "../../../node_modules/react-native-test-app" + ReactTestApp-Resources: + :path: ".." RNGestureHandler: :path: "../../../node_modules/react-native-gesture-handler" RNReanimated: @@ -2041,16 +1972,16 @@ SPEC CHECKSUMS: React-CoreModules: f92a2cb11d22f6066823ca547c61e900325dfe44 React-cxxreact: f5595a4cbfe5a4e9d401dffa2c1c78bbbbbe75e4 React-debug: 4a91c177b5b2efcc546fb50bc2f676f3f589efab - React-defaultsnativemodule: 6b666572abf5fe7fe87836a42776abd6ad5ed173 - React-domnativemodule: 785d767c4edbb9f011b8c976271077759ca5c4aa + React-defaultsnativemodule: bb94c3db425b01c760f41a253de8536b3f5497f0 + React-domnativemodule: 6c581fd39812cafb024171e091c00905b2c3a3e2 React-Fabric: a33cc1fdc62a3085774783bb30970531589d2028 React-FabricComponents: 98de5f94cbd35d407f4fc78855298b562d8289cb React-FabricImage: 0ce8fd83844d9edef5825116d38f0e208b9ad786 React-featureflags: 37a78859ad71db758e2efdcbdb7384afefa8701e - React-featureflagsnativemodule: f94aacb52c463e200ee185bff90ae3b392e60263 + React-featureflagsnativemodule: 52b46e161a151b4653cf1762285e8e899d534e3f React-graphics: c16f1bab97a5d473831a79360d84300e93a614e5 React-hermes: 7801f8c0e12f326524b461dc368d3e74f3d2a385 - React-idlecallbacksnativemodule: d81bb7b5d26cea9852a8edc6ad1979cd7ed0841f + React-idlecallbacksnativemodule: 58de2ac968ee80947d19dc8fe20def607e5c2de8 React-ImageManager: 98a1e5b0b05528dde47ebcd953d916ac66d46c09 React-jserrorhandler: 08f1c3465a71a6549c27ad82809ce145ad52d4f1 React-jsi: 161428ab2c706d5fcd9878d260ff1513fdb356ab @@ -2059,19 +1990,20 @@ SPEC CHECKSUMS: React-jsitracing: 52b849a77d02e2dc262a3031454c23be8dabb4d9 React-logger: 8db32983d75dc2ad54f278f344ccb9b256e694fc React-Mapbuffer: 1c08607305558666fd16678b85ef135e455d5c96 - React-microtasksnativemodule: f13f03163b6a5ec66665dfe80a0df4468bb766a6 - react-native-safe-area-context: 38fdd9b3c5561de7cabae64bd0cd2ce05d2768a1 - react-native-skia: 543cf306ad978cba6bee5c2c2427fa0de7876fad - react-native-slider: e1f4b4538f7de7417b626174874f4f58d4cf6c28 + React-microtasksnativemodule: 87b8de96f937faefece8afd2cb3a518321b2ef99 + react-native-safe-area-context: ab8f4a3d8180913bd78ae75dd599c94cce3d5e9a + react-native-skia: 1549ee5068efc5a004b84b2e0ba109c6234e2fde + react-native-slider: 97ce0bd921f40de79cead9754546d5e4e7ba44f8 + react-native-wgpu: 8d0437a304318e0e3d6ccbfed2a39880f8eae4dd React-nativeconfig: 57781b79e11d5af7573e6f77cbf1143b71802a6d React-NativeModulesApple: 7ff2e2cfb2e5fa5bdedcecf28ce37e696c6ef1e1 React-perflogger: 8a360ccf603de6ddbe9ff8f54383146d26e6c936 React-performancetimeline: 3cfec915adcb3653a5a633b41e711903844c35d8 React-RCTActionSheet: 1c0e26a88eec41215089cf4436e38188cfe9f01a React-RCTAnimation: d87207841b1e2ae1389e684262ea8c73c887cb04 - React-RCTAppDelegate: 328e56399c4f1c3d20cfe547ea24ebded2b3a87f + React-RCTAppDelegate: 4ec7824c0cc9cc4b146ca8ee0fd81b10c316a440 React-RCTBlob: 79b42cb7db55f34079297687a480dbcf37f023f6 - React-RCTFabric: 27636a6a5fa5622159297fce26881945d3658cf6 + React-RCTFabric: 1dd1661db93716f8cb116e451bd9c211a8d15716 React-RCTImage: 0c10a75de59f7384a2a55545d5f36fe783e6ecda React-RCTLinking: bf08f4f655bf777af292b8d97449072c8bb196ca React-RCTNetwork: 1b690846b40fc5685af58e088720657db6814637 @@ -2089,13 +2021,16 @@ SPEC CHECKSUMS: React-utils: 81a715d9c0a2a49047e77a86f3a2247408540deb ReactCodegen: 4c29be59257644159393c3996669167e0d3f19a5 ReactCommon: 6ef348087d250257c44c0204461c03f036650e9b - RNGestureHandler: f769e1b9057085db07546aa3e259daa85c898dc7 - RNReanimated: f6152a40249b6bb48fff2b963850d336269f22a4 - RNScreens: 44a3e358d5ccd7815c5ae9148988c562826992b2 - RNSVG: 1079f96b39a35753d481a20e30603fd6fc4f6fa9 + ReactNativeHost: c66372f767ef829c03a9b5ba0e3355db51c2902d + ReactTestApp-DevSupport: ce66fc1bbcf598d7e90616db390a0274c13e14e7 + ReactTestApp-Resources: 1bd9ff10e4c24f2ad87101a32023721ae923bccf + RNGestureHandler: 939f21fabf5d45a725c0bf175eb819dd25cf2e70 + RNReanimated: 9d20a811e6987cba268ef4f56242dfabd40e85c1 + RNScreens: c7ceced6a8384cb9be5e7a5e88e9e714401fd958 + RNSVG: 5da7a24f31968ec74f0b091e3440080f347e279b SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d Yoga: 2a45d7e59592db061217551fd3bbe2dd993817ae -PODFILE CHECKSUM: 5308441cf81aa7f49eb02466ab8c6aba962435ef +PODFILE CHECKSUM: 1036d13fd82d538f76f9d3646f280e8279271fdd COCOAPODS: 1.15.2 diff --git a/apps/fabric/jest.config.js b/apps/example/jest.config.js similarity index 100% rename from apps/fabric/jest.config.js rename to apps/example/jest.config.js diff --git a/apps/fabric/jestEnv.mjs b/apps/example/jestEnv.mjs similarity index 100% rename from apps/fabric/jestEnv.mjs rename to apps/example/jestEnv.mjs diff --git a/apps/paper/jestSetup.mjs b/apps/example/jestSetup.mjs similarity index 100% rename from apps/paper/jestSetup.mjs rename to apps/example/jestSetup.mjs diff --git a/apps/example/macos/Podfile b/apps/example/macos/Podfile new file mode 100644 index 0000000000..22a6ffcb96 --- /dev/null +++ b/apps/example/macos/Podfile @@ -0,0 +1,9 @@ +ws_dir = Pathname.new(__dir__) +ws_dir = ws_dir.parent until + File.exist?("#{ws_dir}/node_modules/react-native-test-app/macos/test_app.rb") || + ws_dir.expand_path.to_s == '/' +require "#{ws_dir}/node_modules/react-native-test-app/macos/test_app.rb" + +workspace 'skia-example.xcworkspace' + +use_test_app! :hermes_enabled => true diff --git a/apps/example/metro.config.js b/apps/example/metro.config.js new file mode 100644 index 0000000000..2c321b498e --- /dev/null +++ b/apps/example/metro.config.js @@ -0,0 +1,11 @@ +const { makeMetroConfig } = require("@rnx-kit/metro-config"); +module.exports = makeMetroConfig({ + transformer: { + getTransformOptions: async () => ({ + transform: { + experimentalImportSupport: false, + inlineRequires: false, + }, + }), + }, +}); diff --git a/apps/fabric/package.json b/apps/example/package.json similarity index 63% rename from apps/fabric/package.json rename to apps/example/package.json index 6f0f365936..aaf140d62c 100644 --- a/apps/fabric/package.json +++ b/apps/example/package.json @@ -1,20 +1,25 @@ { - "name": "fabric", + "name": "react-native-skia-example", "version": "0.0.1", "private": true, "scripts": { - "lint": "eslint . --ext .ts,.tsx --max-warnings 0 --fix", "android": "react-native run-android", + "build:android": "npm run mkdist && react-native bundle --entry-file index.js --platform android --dev true --bundle-output dist/main.android.jsbundle --assets-dest dist/res", + "build:ios": "npm run mkdist && react-native bundle --entry-file index.js --platform ios --dev true --bundle-output dist/main.ios.jsbundle --assets-dest dist", + "build:macos": "npm run mkdist && react-native bundle --entry-file index.js --platform macos --dev true --bundle-output dist/main.macos.jsbundle --assets-dest dist", + "build:visionos": "npm run mkdist && react-native bundle --entry-file index.js --platform ios --dev true --bundle-output dist/main.visionos.jsbundle --assets-dest dist", "ios": "react-native run-ios", + "lint": "eslint . --ext .ts,.tsx --max-warnings 0 --fix", + "macos": "react-native run-macos --scheme react-native-skia-example", + "mkdist": "node -e \"require('node:fs').mkdirSync('dist', { recursive: true, mode: 0o755 })\"", + "pod:install": "cd ios && pod install", "start": "react-native start", "test": "node --experimental-vm-modules ../../node_modules/.bin/jest", "tsc": "tsc --noEmit", - "pod:install": "cd ios && pod install", - "build:android": "cd android && ./gradlew assembleDebug --warning-mode all", - "build:ios": "npm run mkdist && react-native bundle --entry-file index.js --platform ios --dev true --bundle-output dist/main.ios.jsbundle --assets-dest dist && react-native build-ios --scheme fabric --mode Debug --extra-params \"-sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO\"", - "mkdist": "node -e \"require('node:fs').mkdirSync('dist', { recursive: true, mode: 0o755 })\"" + "visionos": "react-native run-visionos" }, "dependencies": { + "@callstack/react-native-visionos": "^0.75.0", "@react-native-community/slider": "^4.5.2", "@react-navigation/bottom-tabs": "^6.6.1", "@react-navigation/elements": "^1.3.31", @@ -28,10 +33,12 @@ "react": "18.3.1", "react-native": "0.75.2", "react-native-gesture-handler": "^2.18.1", + "react-native-macos": "^0.75.0", "react-native-reanimated": "^3.16.5", "react-native-safe-area-context": "^4.10.9", - "react-native-screens": "^4.3.0", + "react-native-screens": "^3.34.0", "react-native-svg": "^15.6.0", + "react-native-wgpu": "0.1.19", "typescript": "^5.2.2" }, "devDependencies": { @@ -39,8 +46,10 @@ "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", "@react-native/babel-preset": "0.75.2", + "@react-native/eslint-config": "0.75.2", "@react-native/metro-config": "0.75.2", "@react-native/typescript-config": "0.75.2", + "@rnx-kit/metro-config": "^2.0.0", "@types/react": "^18.2.6", "@types/react-test-renderer": "^18.0.0", "babel-jest": "^29.6.3", @@ -51,7 +60,9 @@ "jest": "^29.6.3", "jest-transform-stub": "^2.0.0", "prettier": "2.8.7", - "react-test-renderer": "18.3.1" + "react-native-test-app": "^4.0.2", + "react-test-renderer": "18.3.1", + "typescript": "5.0.4" }, "engines": { "node": ">=18" diff --git a/apps/example/react-native.config.js b/apps/example/react-native.config.js new file mode 100644 index 0000000000..5a3813c342 --- /dev/null +++ b/apps/example/react-native.config.js @@ -0,0 +1,23 @@ +const project = (() => { + try { + const { configureProjects } = require("react-native-test-app"); + return configureProjects({ + android: { + sourceDir: "android", + }, + ios: { + sourceDir: "ios", + }, + windows: { + sourceDir: "windows", + solutionFile: "windows/react-native-skia-example.sln", + }, + }); + } catch (_) { + return undefined; + } +})(); + +module.exports = { + ...(project ? { project } : undefined), +}; diff --git a/apps/paper/src/App.spec.tsx b/apps/example/src/App.spec.tsx similarity index 100% rename from apps/paper/src/App.spec.tsx rename to apps/example/src/App.spec.tsx diff --git a/apps/paper/src/App.tsx b/apps/example/src/App.tsx similarity index 100% rename from apps/paper/src/App.tsx rename to apps/example/src/App.tsx diff --git a/apps/paper/src/Examples/API/AnimatedImages.tsx b/apps/example/src/Examples/API/AnimatedImages.tsx similarity index 100% rename from apps/paper/src/Examples/API/AnimatedImages.tsx rename to apps/example/src/Examples/API/AnimatedImages.tsx diff --git a/apps/paper/src/Examples/API/BlendModes.tsx b/apps/example/src/Examples/API/BlendModes.tsx similarity index 100% rename from apps/paper/src/Examples/API/BlendModes.tsx rename to apps/example/src/Examples/API/BlendModes.tsx diff --git a/apps/paper/src/Examples/API/Clipping.tsx b/apps/example/src/Examples/API/Clipping.tsx similarity index 100% rename from apps/paper/src/Examples/API/Clipping.tsx rename to apps/example/src/Examples/API/Clipping.tsx diff --git a/apps/paper/src/Examples/API/ColorFilter.tsx b/apps/example/src/Examples/API/ColorFilter.tsx similarity index 100% rename from apps/paper/src/Examples/API/ColorFilter.tsx rename to apps/example/src/Examples/API/ColorFilter.tsx diff --git a/apps/paper/src/Examples/API/Data.tsx b/apps/example/src/Examples/API/Data.tsx similarity index 100% rename from apps/paper/src/Examples/API/Data.tsx rename to apps/example/src/Examples/API/Data.tsx diff --git a/apps/paper/src/Examples/API/FontMgr.tsx b/apps/example/src/Examples/API/FontMgr.tsx similarity index 100% rename from apps/paper/src/Examples/API/FontMgr.tsx rename to apps/example/src/Examples/API/FontMgr.tsx diff --git a/apps/paper/src/Examples/API/Freeze.tsx b/apps/example/src/Examples/API/Freeze.tsx similarity index 100% rename from apps/paper/src/Examples/API/Freeze.tsx rename to apps/example/src/Examples/API/Freeze.tsx diff --git a/apps/paper/src/Examples/API/Gradients.tsx b/apps/example/src/Examples/API/Gradients.tsx similarity index 100% rename from apps/paper/src/Examples/API/Gradients.tsx rename to apps/example/src/Examples/API/Gradients.tsx diff --git a/apps/paper/src/Examples/API/Icons/SvgIcons/GithubIcon.tsx b/apps/example/src/Examples/API/Icons/SvgIcons/GithubIcon.tsx similarity index 100% rename from apps/paper/src/Examples/API/Icons/SvgIcons/GithubIcon.tsx rename to apps/example/src/Examples/API/Icons/SvgIcons/GithubIcon.tsx diff --git a/apps/paper/src/Examples/API/Icons/SvgIcons/OctocatIcon.tsx b/apps/example/src/Examples/API/Icons/SvgIcons/OctocatIcon.tsx similarity index 100% rename from apps/paper/src/Examples/API/Icons/SvgIcons/OctocatIcon.tsx rename to apps/example/src/Examples/API/Icons/SvgIcons/OctocatIcon.tsx diff --git a/apps/paper/src/Examples/API/Icons/SvgIcons/StackExchangeIcon.tsx b/apps/example/src/Examples/API/Icons/SvgIcons/StackExchangeIcon.tsx similarity index 100% rename from apps/paper/src/Examples/API/Icons/SvgIcons/StackExchangeIcon.tsx rename to apps/example/src/Examples/API/Icons/SvgIcons/StackExchangeIcon.tsx diff --git a/apps/paper/src/Examples/API/Icons/SvgIcons/StackOverflowIcon.tsx b/apps/example/src/Examples/API/Icons/SvgIcons/StackOverflowIcon.tsx similarity index 100% rename from apps/paper/src/Examples/API/Icons/SvgIcons/StackOverflowIcon.tsx rename to apps/example/src/Examples/API/Icons/SvgIcons/StackOverflowIcon.tsx diff --git a/apps/paper/src/Examples/API/Icons/index.tsx b/apps/example/src/Examples/API/Icons/index.tsx similarity index 100% rename from apps/paper/src/Examples/API/Icons/index.tsx rename to apps/example/src/Examples/API/Icons/index.tsx diff --git a/apps/paper/src/Examples/API/ImageFilters.tsx b/apps/example/src/Examples/API/ImageFilters.tsx similarity index 100% rename from apps/paper/src/Examples/API/ImageFilters.tsx rename to apps/example/src/Examples/API/ImageFilters.tsx diff --git a/apps/paper/src/Examples/API/Images.tsx b/apps/example/src/Examples/API/Images.tsx similarity index 100% rename from apps/paper/src/Examples/API/Images.tsx rename to apps/example/src/Examples/API/Images.tsx diff --git a/apps/paper/src/Examples/API/List.tsx b/apps/example/src/Examples/API/List.tsx similarity index 100% rename from apps/paper/src/Examples/API/List.tsx rename to apps/example/src/Examples/API/List.tsx diff --git a/apps/paper/src/Examples/API/OnLayout.tsx b/apps/example/src/Examples/API/OnLayout.tsx similarity index 100% rename from apps/paper/src/Examples/API/OnLayout.tsx rename to apps/example/src/Examples/API/OnLayout.tsx diff --git a/apps/paper/src/Examples/API/Paragraphs.tsx b/apps/example/src/Examples/API/Paragraphs.tsx similarity index 100% rename from apps/paper/src/Examples/API/Paragraphs.tsx rename to apps/example/src/Examples/API/Paragraphs.tsx diff --git a/apps/paper/src/Examples/API/Path.tsx b/apps/example/src/Examples/API/Path.tsx similarity index 100% rename from apps/paper/src/Examples/API/Path.tsx rename to apps/example/src/Examples/API/Path.tsx diff --git a/apps/paper/src/Examples/API/PathEffect.tsx b/apps/example/src/Examples/API/PathEffect.tsx similarity index 100% rename from apps/paper/src/Examples/API/PathEffect.tsx rename to apps/example/src/Examples/API/PathEffect.tsx diff --git a/apps/paper/src/Examples/API/Picture.tsx b/apps/example/src/Examples/API/Picture.tsx similarity index 100% rename from apps/paper/src/Examples/API/Picture.tsx rename to apps/example/src/Examples/API/Picture.tsx diff --git a/apps/paper/src/Examples/API/PictureView.tsx b/apps/example/src/Examples/API/PictureView.tsx similarity index 100% rename from apps/paper/src/Examples/API/PictureView.tsx rename to apps/example/src/Examples/API/PictureView.tsx diff --git a/apps/paper/src/Examples/API/Roboto-Regular.otf b/apps/example/src/Examples/API/Roboto-Regular.otf similarity index 100% rename from apps/paper/src/Examples/API/Roboto-Regular.otf rename to apps/example/src/Examples/API/Roboto-Regular.otf diff --git a/apps/paper/src/Examples/API/Routes.ts b/apps/example/src/Examples/API/Routes.ts similarity index 100% rename from apps/paper/src/Examples/API/Routes.ts rename to apps/example/src/Examples/API/Routes.ts diff --git a/apps/paper/src/Examples/API/SVG.tsx b/apps/example/src/Examples/API/SVG.tsx similarity index 100% rename from apps/paper/src/Examples/API/SVG.tsx rename to apps/example/src/Examples/API/SVG.tsx diff --git a/apps/paper/src/Examples/API/Shapes.tsx b/apps/example/src/Examples/API/Shapes.tsx similarity index 100% rename from apps/paper/src/Examples/API/Shapes.tsx rename to apps/example/src/Examples/API/Shapes.tsx diff --git a/apps/paper/src/Examples/API/Snapshot.tsx b/apps/example/src/Examples/API/Snapshot.tsx similarity index 100% rename from apps/paper/src/Examples/API/Snapshot.tsx rename to apps/example/src/Examples/API/Snapshot.tsx diff --git a/apps/paper/src/Examples/API/Touch.tsx b/apps/example/src/Examples/API/Touch.tsx similarity index 100% rename from apps/paper/src/Examples/API/Touch.tsx rename to apps/example/src/Examples/API/Touch.tsx diff --git a/apps/paper/src/Examples/API/Transform.tsx b/apps/example/src/Examples/API/Transform.tsx similarity index 100% rename from apps/paper/src/Examples/API/Transform.tsx rename to apps/example/src/Examples/API/Transform.tsx diff --git a/apps/paper/src/Examples/API/UseCanvas.tsx b/apps/example/src/Examples/API/UseCanvas.tsx similarity index 100% rename from apps/paper/src/Examples/API/UseCanvas.tsx rename to apps/example/src/Examples/API/UseCanvas.tsx diff --git a/apps/paper/src/Examples/API/components/Examples.tsx b/apps/example/src/Examples/API/components/Examples.tsx similarity index 100% rename from apps/paper/src/Examples/API/components/Examples.tsx rename to apps/example/src/Examples/API/components/Examples.tsx diff --git a/apps/paper/src/Examples/API/components/Title.tsx b/apps/example/src/Examples/API/components/Title.tsx similarity index 100% rename from apps/paper/src/Examples/API/components/Title.tsx rename to apps/example/src/Examples/API/components/Title.tsx diff --git a/apps/paper/src/Examples/API/components/drawings/backface.tsx b/apps/example/src/Examples/API/components/drawings/backface.tsx similarity index 100% rename from apps/paper/src/Examples/API/components/drawings/backface.tsx rename to apps/example/src/Examples/API/components/drawings/backface.tsx diff --git a/apps/paper/src/Examples/API/index.tsx b/apps/example/src/Examples/API/index.tsx similarity index 100% rename from apps/paper/src/Examples/API/index.tsx rename to apps/example/src/Examples/API/index.tsx diff --git a/apps/paper/src/Examples/API/tiger.svg b/apps/example/src/Examples/API/tiger.svg similarity index 100% rename from apps/paper/src/Examples/API/tiger.svg rename to apps/example/src/Examples/API/tiger.svg diff --git a/apps/paper/src/Examples/Aurora/Aurora.tsx b/apps/example/src/Examples/Aurora/Aurora.tsx similarity index 100% rename from apps/paper/src/Examples/Aurora/Aurora.tsx rename to apps/example/src/Examples/Aurora/Aurora.tsx diff --git a/apps/paper/src/Examples/Aurora/components/BilinearGradient.tsx b/apps/example/src/Examples/Aurora/components/BilinearGradient.tsx similarity index 100% rename from apps/paper/src/Examples/Aurora/components/BilinearGradient.tsx rename to apps/example/src/Examples/Aurora/components/BilinearGradient.tsx diff --git a/apps/paper/src/Examples/Aurora/components/CoonsPatchMeshGradient.tsx b/apps/example/src/Examples/Aurora/components/CoonsPatchMeshGradient.tsx similarity index 100% rename from apps/paper/src/Examples/Aurora/components/CoonsPatchMeshGradient.tsx rename to apps/example/src/Examples/Aurora/components/CoonsPatchMeshGradient.tsx diff --git a/apps/paper/src/Examples/Aurora/components/Cubic.tsx b/apps/example/src/Examples/Aurora/components/Cubic.tsx similarity index 100% rename from apps/paper/src/Examples/Aurora/components/Cubic.tsx rename to apps/example/src/Examples/Aurora/components/Cubic.tsx diff --git a/apps/paper/src/Examples/Aurora/components/Curves.tsx b/apps/example/src/Examples/Aurora/components/Curves.tsx similarity index 100% rename from apps/paper/src/Examples/Aurora/components/Curves.tsx rename to apps/example/src/Examples/Aurora/components/Curves.tsx diff --git a/apps/paper/src/Examples/Aurora/components/Math.ts b/apps/example/src/Examples/Aurora/components/Math.ts similarity index 100% rename from apps/paper/src/Examples/Aurora/components/Math.ts rename to apps/example/src/Examples/Aurora/components/Math.ts diff --git a/apps/paper/src/Examples/Aurora/components/useHandles.ts b/apps/example/src/Examples/Aurora/components/useHandles.ts similarity index 100% rename from apps/paper/src/Examples/Aurora/components/useHandles.ts rename to apps/example/src/Examples/Aurora/components/useHandles.ts diff --git a/apps/paper/src/Examples/Aurora/index.ts b/apps/example/src/Examples/Aurora/index.ts similarity index 100% rename from apps/paper/src/Examples/Aurora/index.ts rename to apps/example/src/Examples/Aurora/index.ts diff --git a/apps/paper/src/Examples/Boxes.tsx b/apps/example/src/Examples/Boxes.tsx similarity index 100% rename from apps/paper/src/Examples/Boxes.tsx rename to apps/example/src/Examples/Boxes.tsx diff --git a/apps/paper/src/Examples/Breathe/Breathe.tsx b/apps/example/src/Examples/Breathe/Breathe.tsx similarity index 100% rename from apps/paper/src/Examples/Breathe/Breathe.tsx rename to apps/example/src/Examples/Breathe/Breathe.tsx diff --git a/apps/paper/src/Examples/Breathe/index.ts b/apps/example/src/Examples/Breathe/index.ts similarity index 100% rename from apps/paper/src/Examples/Breathe/index.ts rename to apps/example/src/Examples/Breathe/index.ts diff --git a/apps/paper/src/Examples/Examples.test.tsx b/apps/example/src/Examples/Examples.test.tsx similarity index 100% rename from apps/paper/src/Examples/Examples.test.tsx rename to apps/example/src/Examples/Examples.test.tsx diff --git a/apps/paper/src/Examples/Filters/Filters.tsx b/apps/example/src/Examples/Filters/Filters.tsx similarity index 100% rename from apps/paper/src/Examples/Filters/Filters.tsx rename to apps/example/src/Examples/Filters/Filters.tsx diff --git a/apps/paper/src/Examples/Filters/index.tsx b/apps/example/src/Examples/Filters/index.tsx similarity index 100% rename from apps/paper/src/Examples/Filters/index.tsx rename to apps/example/src/Examples/Filters/index.tsx diff --git a/apps/paper/src/Examples/FrostedCard/BlurGradient.tsx b/apps/example/src/Examples/FrostedCard/BlurGradient.tsx similarity index 100% rename from apps/paper/src/Examples/FrostedCard/BlurGradient.tsx rename to apps/example/src/Examples/FrostedCard/BlurGradient.tsx diff --git a/apps/paper/src/Examples/FrostedCard/FrostedCard.tsx b/apps/example/src/Examples/FrostedCard/FrostedCard.tsx similarity index 100% rename from apps/paper/src/Examples/FrostedCard/FrostedCard.tsx rename to apps/example/src/Examples/FrostedCard/FrostedCard.tsx diff --git a/apps/paper/src/Examples/FrostedCard/Shader.ts b/apps/example/src/Examples/FrostedCard/Shader.ts similarity index 100% rename from apps/paper/src/Examples/FrostedCard/Shader.ts rename to apps/example/src/Examples/FrostedCard/Shader.ts diff --git a/apps/paper/src/Examples/FrostedCard/dynamo.jpg b/apps/example/src/Examples/FrostedCard/dynamo.jpg similarity index 100% rename from apps/paper/src/Examples/FrostedCard/dynamo.jpg rename to apps/example/src/Examples/FrostedCard/dynamo.jpg diff --git a/apps/paper/src/Examples/FrostedCard/index.ts b/apps/example/src/Examples/FrostedCard/index.ts similarity index 100% rename from apps/paper/src/Examples/FrostedCard/index.ts rename to apps/example/src/Examples/FrostedCard/index.ts diff --git a/apps/paper/src/Examples/Glassmorphism/Card.tsx b/apps/example/src/Examples/Glassmorphism/Card.tsx similarity index 100% rename from apps/paper/src/Examples/Glassmorphism/Card.tsx rename to apps/example/src/Examples/Glassmorphism/Card.tsx diff --git a/apps/paper/src/Examples/Glassmorphism/Glassmorphism.tsx b/apps/example/src/Examples/Glassmorphism/Glassmorphism.tsx similarity index 100% rename from apps/paper/src/Examples/Glassmorphism/Glassmorphism.tsx rename to apps/example/src/Examples/Glassmorphism/Glassmorphism.tsx diff --git a/apps/paper/src/Examples/Glassmorphism/components/Background.tsx b/apps/example/src/Examples/Glassmorphism/components/Background.tsx similarity index 100% rename from apps/paper/src/Examples/Glassmorphism/components/Background.tsx rename to apps/example/src/Examples/Glassmorphism/components/Background.tsx diff --git a/apps/paper/src/Examples/Glassmorphism/components/Ball.tsx b/apps/example/src/Examples/Glassmorphism/components/Ball.tsx similarity index 100% rename from apps/paper/src/Examples/Glassmorphism/components/Ball.tsx rename to apps/example/src/Examples/Glassmorphism/components/Ball.tsx diff --git a/apps/paper/src/Examples/Glassmorphism/index.ts b/apps/example/src/Examples/Glassmorphism/index.ts similarity index 100% rename from apps/paper/src/Examples/Glassmorphism/index.ts rename to apps/example/src/Examples/Glassmorphism/index.ts diff --git a/apps/paper/src/Examples/Gooey/Gooey.tsx b/apps/example/src/Examples/Gooey/Gooey.tsx similarity index 100% rename from apps/paper/src/Examples/Gooey/Gooey.tsx rename to apps/example/src/Examples/Gooey/Gooey.tsx diff --git a/apps/paper/src/Examples/Gooey/components/Hamburger.tsx b/apps/example/src/Examples/Gooey/components/Hamburger.tsx similarity index 100% rename from apps/paper/src/Examples/Gooey/components/Hamburger.tsx rename to apps/example/src/Examples/Gooey/components/Hamburger.tsx diff --git a/apps/paper/src/Examples/Gooey/components/Icon.tsx b/apps/example/src/Examples/Gooey/components/Icon.tsx similarity index 100% rename from apps/paper/src/Examples/Gooey/components/Icon.tsx rename to apps/example/src/Examples/Gooey/components/Icon.tsx diff --git a/apps/paper/src/Examples/Gooey/components/Theme.ts b/apps/example/src/Examples/Gooey/components/Theme.ts similarity index 100% rename from apps/paper/src/Examples/Gooey/components/Theme.ts rename to apps/example/src/Examples/Gooey/components/Theme.ts diff --git a/apps/paper/src/Examples/Gooey/index.ts b/apps/example/src/Examples/Gooey/index.ts similarity index 100% rename from apps/paper/src/Examples/Gooey/index.ts rename to apps/example/src/Examples/Gooey/index.ts diff --git a/apps/paper/src/Examples/Graphs/Interpolation.tsx b/apps/example/src/Examples/Graphs/Interpolation.tsx similarity index 100% rename from apps/paper/src/Examples/Graphs/Interpolation.tsx rename to apps/example/src/Examples/Graphs/Interpolation.tsx diff --git a/apps/paper/src/Examples/Graphs/Slider.tsx b/apps/example/src/Examples/Graphs/Slider.tsx similarity index 100% rename from apps/paper/src/Examples/Graphs/Slider.tsx rename to apps/example/src/Examples/Graphs/Slider.tsx diff --git a/apps/paper/src/Examples/Graphs/createGraphPath.ts b/apps/example/src/Examples/Graphs/createGraphPath.ts similarity index 100% rename from apps/paper/src/Examples/Graphs/createGraphPath.ts rename to apps/example/src/Examples/Graphs/createGraphPath.ts diff --git a/apps/paper/src/Examples/Graphs/index.tsx b/apps/example/src/Examples/Graphs/index.tsx similarity index 100% rename from apps/paper/src/Examples/Graphs/index.tsx rename to apps/example/src/Examples/Graphs/index.tsx diff --git a/apps/paper/src/Examples/Graphs/types.ts b/apps/example/src/Examples/Graphs/types.ts similarity index 100% rename from apps/paper/src/Examples/Graphs/types.ts rename to apps/example/src/Examples/Graphs/types.ts diff --git a/apps/paper/src/Examples/Hue/Helpers.ts b/apps/example/src/Examples/Hue/Helpers.ts similarity index 100% rename from apps/paper/src/Examples/Hue/Helpers.ts rename to apps/example/src/Examples/Hue/Helpers.ts diff --git a/apps/paper/src/Examples/Hue/Hue.tsx b/apps/example/src/Examples/Hue/Hue.tsx similarity index 100% rename from apps/paper/src/Examples/Hue/Hue.tsx rename to apps/example/src/Examples/Hue/Hue.tsx diff --git a/apps/paper/src/Examples/Hue/index.ts b/apps/example/src/Examples/Hue/index.ts similarity index 100% rename from apps/paper/src/Examples/Hue/index.ts rename to apps/example/src/Examples/Hue/index.ts diff --git a/apps/paper/src/Examples/Matrix/Matrix.tsx b/apps/example/src/Examples/Matrix/Matrix.tsx similarity index 100% rename from apps/paper/src/Examples/Matrix/Matrix.tsx rename to apps/example/src/Examples/Matrix/Matrix.tsx diff --git a/apps/paper/src/Examples/Matrix/Symbol.tsx b/apps/example/src/Examples/Matrix/Symbol.tsx similarity index 100% rename from apps/paper/src/Examples/Matrix/Symbol.tsx rename to apps/example/src/Examples/Matrix/Symbol.tsx diff --git a/apps/paper/src/Examples/Matrix/index.ts b/apps/example/src/Examples/Matrix/index.ts similarity index 100% rename from apps/paper/src/Examples/Matrix/index.ts rename to apps/example/src/Examples/Matrix/index.ts diff --git a/apps/paper/src/Examples/Matrix/matrix-code-nfi.otf b/apps/example/src/Examples/Matrix/matrix-code-nfi.otf similarity index 100% rename from apps/paper/src/Examples/Matrix/matrix-code-nfi.otf rename to apps/example/src/Examples/Matrix/matrix-code-nfi.otf diff --git a/apps/paper/src/Examples/Neumorphism/BoxShadow.tsx b/apps/example/src/Examples/Neumorphism/BoxShadow.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/BoxShadow.tsx rename to apps/example/src/Examples/Neumorphism/BoxShadow.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/Dashboard.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/Dashboard.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/Dashboard.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/Dashboard.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/Button.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/Button.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/Button.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/Button.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/Control.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/Control.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/Control.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/Control.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/Knob.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/Knob.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/Knob.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/Knob.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/Mode.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/Mode.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/Mode.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/Mode.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/ProgressBar.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/ProgressBar.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/ProgressBar.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/ProgressBar.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/SF-Mono-Semibold.otf b/apps/example/src/Examples/Neumorphism/Dashboard/components/SF-Mono-Semibold.otf similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/SF-Mono-Semibold.otf rename to apps/example/src/Examples/Neumorphism/Dashboard/components/SF-Mono-Semibold.otf diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/SF-Pro-Display-Bold.otf b/apps/example/src/Examples/Neumorphism/Dashboard/components/SF-Pro-Display-Bold.otf similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/SF-Pro-Display-Bold.otf rename to apps/example/src/Examples/Neumorphism/Dashboard/components/SF-Pro-Display-Bold.otf diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/Slider.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/Slider.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/Slider.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/Slider.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/Title.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/Title.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/Title.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/Title.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/ChevronLeft.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/icons/ChevronLeft.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/ChevronLeft.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/icons/ChevronLeft.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Cog.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Cog.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Cog.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Cog.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Power.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Power.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Power.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Power.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Snow.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Snow.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Snow.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Snow.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Sun.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Sun.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Sun.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Sun.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Wind.tsx b/apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Wind.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/icons/Wind.tsx rename to apps/example/src/Examples/Neumorphism/Dashboard/components/icons/Wind.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/components/settings.png b/apps/example/src/Examples/Neumorphism/Dashboard/components/settings.png similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/components/settings.png rename to apps/example/src/Examples/Neumorphism/Dashboard/components/settings.png diff --git a/apps/paper/src/Examples/Neumorphism/Dashboard/index.ts b/apps/example/src/Examples/Neumorphism/Dashboard/index.ts similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Dashboard/index.ts rename to apps/example/src/Examples/Neumorphism/Dashboard/index.ts diff --git a/apps/paper/src/Examples/Neumorphism/Elements/Elements.tsx b/apps/example/src/Examples/Neumorphism/Elements/Elements.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Elements/Elements.tsx rename to apps/example/src/Examples/Neumorphism/Elements/Elements.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Elements/components/Button.tsx b/apps/example/src/Examples/Neumorphism/Elements/components/Button.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Elements/components/Button.tsx rename to apps/example/src/Examples/Neumorphism/Elements/components/Button.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Elements/components/ProgressBar.tsx b/apps/example/src/Examples/Neumorphism/Elements/components/ProgressBar.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Elements/components/ProgressBar.tsx rename to apps/example/src/Examples/Neumorphism/Elements/components/ProgressBar.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Elements/components/Switch.tsx b/apps/example/src/Examples/Neumorphism/Elements/components/Switch.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Elements/components/Switch.tsx rename to apps/example/src/Examples/Neumorphism/Elements/components/Switch.tsx diff --git a/apps/paper/src/Examples/Neumorphism/Elements/components/Theme.ts b/apps/example/src/Examples/Neumorphism/Elements/components/Theme.ts similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Elements/components/Theme.ts rename to apps/example/src/Examples/Neumorphism/Elements/components/Theme.ts diff --git a/apps/paper/src/Examples/Neumorphism/Elements/index.ts b/apps/example/src/Examples/Neumorphism/Elements/index.ts similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Elements/index.ts rename to apps/example/src/Examples/Neumorphism/Elements/index.ts diff --git a/apps/paper/src/Examples/Neumorphism/Neumorphism.tsx b/apps/example/src/Examples/Neumorphism/Neumorphism.tsx similarity index 100% rename from apps/paper/src/Examples/Neumorphism/Neumorphism.tsx rename to apps/example/src/Examples/Neumorphism/Neumorphism.tsx diff --git a/apps/paper/src/Examples/Neumorphism/index.ts b/apps/example/src/Examples/Neumorphism/index.ts similarity index 100% rename from apps/paper/src/Examples/Neumorphism/index.ts rename to apps/example/src/Examples/Neumorphism/index.ts diff --git a/apps/paper/src/Examples/Performance/Atlas.tsx b/apps/example/src/Examples/Performance/Atlas.tsx similarity index 100% rename from apps/paper/src/Examples/Performance/Atlas.tsx rename to apps/example/src/Examples/Performance/Atlas.tsx diff --git a/apps/paper/src/Examples/Performance/PerformanceCanvases.tsx b/apps/example/src/Examples/Performance/PerformanceCanvases.tsx similarity index 100% rename from apps/paper/src/Examples/Performance/PerformanceCanvases.tsx rename to apps/example/src/Examples/Performance/PerformanceCanvases.tsx diff --git a/apps/paper/src/Examples/Performance/PerformanceRects.tsx b/apps/example/src/Examples/Performance/PerformanceRects.tsx similarity index 100% rename from apps/paper/src/Examples/Performance/PerformanceRects.tsx rename to apps/example/src/Examples/Performance/PerformanceRects.tsx diff --git a/apps/paper/src/Examples/Performance/index.ts b/apps/example/src/Examples/Performance/index.ts similarity index 100% rename from apps/paper/src/Examples/Performance/index.ts rename to apps/example/src/Examples/Performance/index.ts diff --git a/apps/paper/src/Examples/Reanimated/AnimateTextOnPath.tsx b/apps/example/src/Examples/Reanimated/AnimateTextOnPath.tsx similarity index 100% rename from apps/paper/src/Examples/Reanimated/AnimateTextOnPath.tsx rename to apps/example/src/Examples/Reanimated/AnimateTextOnPath.tsx diff --git a/apps/paper/src/Examples/Reanimated/AnimationWithTouchHandler.tsx b/apps/example/src/Examples/Reanimated/AnimationWithTouchHandler.tsx similarity index 100% rename from apps/paper/src/Examples/Reanimated/AnimationWithTouchHandler.tsx rename to apps/example/src/Examples/Reanimated/AnimationWithTouchHandler.tsx diff --git a/apps/paper/src/Examples/Reanimated/BokehExample.tsx b/apps/example/src/Examples/Reanimated/BokehExample.tsx similarity index 100% rename from apps/paper/src/Examples/Reanimated/BokehExample.tsx rename to apps/example/src/Examples/Reanimated/BokehExample.tsx diff --git a/apps/paper/src/Examples/Reanimated/Components.tsx b/apps/example/src/Examples/Reanimated/Components.tsx similarity index 100% rename from apps/paper/src/Examples/Reanimated/Components.tsx rename to apps/example/src/Examples/Reanimated/Components.tsx diff --git a/apps/paper/src/Examples/Reanimated/InterpolationWithEasing.tsx b/apps/example/src/Examples/Reanimated/InterpolationWithEasing.tsx similarity index 100% rename from apps/paper/src/Examples/Reanimated/InterpolationWithEasing.tsx rename to apps/example/src/Examples/Reanimated/InterpolationWithEasing.tsx diff --git a/apps/paper/src/Examples/Reanimated/SimpleAnimation.tsx b/apps/example/src/Examples/Reanimated/SimpleAnimation.tsx similarity index 100% rename from apps/paper/src/Examples/Reanimated/SimpleAnimation.tsx rename to apps/example/src/Examples/Reanimated/SimpleAnimation.tsx diff --git a/apps/paper/src/Examples/Reanimated/SpringBackTouch.tsx b/apps/example/src/Examples/Reanimated/SpringBackTouch.tsx similarity index 100% rename from apps/paper/src/Examples/Reanimated/SpringBackTouch.tsx rename to apps/example/src/Examples/Reanimated/SpringBackTouch.tsx diff --git a/apps/paper/src/Examples/Reanimated/index.tsx b/apps/example/src/Examples/Reanimated/index.tsx similarity index 100% rename from apps/paper/src/Examples/Reanimated/index.tsx rename to apps/example/src/Examples/Reanimated/index.tsx diff --git a/apps/paper/src/Examples/Severance/CRT.tsx b/apps/example/src/Examples/Severance/CRT.tsx similarity index 100% rename from apps/paper/src/Examples/Severance/CRT.tsx rename to apps/example/src/Examples/Severance/CRT.tsx diff --git a/apps/paper/src/Examples/Severance/SF-Mono-Medium.otf b/apps/example/src/Examples/Severance/SF-Mono-Medium.otf similarity index 100% rename from apps/paper/src/Examples/Severance/SF-Mono-Medium.otf rename to apps/example/src/Examples/Severance/SF-Mono-Medium.otf diff --git a/apps/paper/src/Examples/Severance/Severance.tsx b/apps/example/src/Examples/Severance/Severance.tsx similarity index 100% rename from apps/paper/src/Examples/Severance/Severance.tsx rename to apps/example/src/Examples/Severance/Severance.tsx diff --git a/apps/paper/src/Examples/Severance/Symbol.tsx b/apps/example/src/Examples/Severance/Symbol.tsx similarity index 100% rename from apps/paper/src/Examples/Severance/Symbol.tsx rename to apps/example/src/Examples/Severance/Symbol.tsx diff --git a/apps/paper/src/Examples/Severance/Theme.ts b/apps/example/src/Examples/Severance/Theme.ts similarity index 100% rename from apps/paper/src/Examples/Severance/Theme.ts rename to apps/example/src/Examples/Severance/Theme.ts diff --git a/apps/paper/src/Examples/Severance/index.ts b/apps/example/src/Examples/Severance/index.ts similarity index 100% rename from apps/paper/src/Examples/Severance/index.ts rename to apps/example/src/Examples/Severance/index.ts diff --git a/apps/paper/src/Examples/SpeedTest/Header.tsx b/apps/example/src/Examples/SpeedTest/Header.tsx similarity index 100% rename from apps/paper/src/Examples/SpeedTest/Header.tsx rename to apps/example/src/Examples/SpeedTest/Header.tsx diff --git a/apps/paper/src/Examples/SpeedTest/Slider.tsx b/apps/example/src/Examples/SpeedTest/Slider.tsx similarity index 100% rename from apps/paper/src/Examples/SpeedTest/Slider.tsx rename to apps/example/src/Examples/SpeedTest/Slider.tsx diff --git a/apps/paper/src/Examples/SpeedTest/SpeedTest.tsx b/apps/example/src/Examples/SpeedTest/SpeedTest.tsx similarity index 100% rename from apps/paper/src/Examples/SpeedTest/SpeedTest.tsx rename to apps/example/src/Examples/SpeedTest/SpeedTest.tsx diff --git a/apps/paper/src/Examples/SpeedTest/index.ts b/apps/example/src/Examples/SpeedTest/index.ts similarity index 100% rename from apps/paper/src/Examples/SpeedTest/index.ts rename to apps/example/src/Examples/SpeedTest/index.ts diff --git a/apps/paper/src/Examples/Stickers/GestureHandler.tsx b/apps/example/src/Examples/Stickers/GestureHandler.tsx similarity index 100% rename from apps/paper/src/Examples/Stickers/GestureHandler.tsx rename to apps/example/src/Examples/Stickers/GestureHandler.tsx diff --git a/apps/paper/src/Examples/Stickers/HelloSticker.tsx b/apps/example/src/Examples/Stickers/HelloSticker.tsx similarity index 100% rename from apps/paper/src/Examples/Stickers/HelloSticker.tsx rename to apps/example/src/Examples/Stickers/HelloSticker.tsx diff --git a/apps/paper/src/Examples/Stickers/LocationSticker.tsx b/apps/example/src/Examples/Stickers/LocationSticker.tsx similarity index 100% rename from apps/paper/src/Examples/Stickers/LocationSticker.tsx rename to apps/example/src/Examples/Stickers/LocationSticker.tsx diff --git a/apps/paper/src/Examples/Stickers/Picture.tsx b/apps/example/src/Examples/Stickers/Picture.tsx similarity index 100% rename from apps/paper/src/Examples/Stickers/Picture.tsx rename to apps/example/src/Examples/Stickers/Picture.tsx diff --git a/apps/paper/src/Examples/Stickers/Stickers.tsx b/apps/example/src/Examples/Stickers/Stickers.tsx similarity index 100% rename from apps/paper/src/Examples/Stickers/Stickers.tsx rename to apps/example/src/Examples/Stickers/Stickers.tsx diff --git a/apps/paper/src/Examples/Stickers/assets/aveny.ttf b/apps/example/src/Examples/Stickers/assets/aveny.ttf similarity index 100% rename from apps/paper/src/Examples/Stickers/assets/aveny.ttf rename to apps/example/src/Examples/Stickers/assets/aveny.ttf diff --git a/apps/paper/src/Examples/Stickers/assets/zurich.jpg b/apps/example/src/Examples/Stickers/assets/zurich.jpg similarity index 100% rename from apps/paper/src/Examples/Stickers/assets/zurich.jpg rename to apps/example/src/Examples/Stickers/assets/zurich.jpg diff --git a/apps/paper/src/Examples/Stickers/index.ts b/apps/example/src/Examples/Stickers/index.ts similarity index 100% rename from apps/paper/src/Examples/Stickers/index.ts rename to apps/example/src/Examples/Stickers/index.ts diff --git a/apps/paper/src/Examples/Transitions/Assets.ts b/apps/example/src/Examples/Transitions/Assets.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/Assets.ts rename to apps/example/src/Examples/Transitions/Assets.ts diff --git a/apps/paper/src/Examples/Transitions/Hue.tsx b/apps/example/src/Examples/Transitions/Hue.tsx similarity index 100% rename from apps/paper/src/Examples/Transitions/Hue.tsx rename to apps/example/src/Examples/Transitions/Hue.tsx diff --git a/apps/paper/src/Examples/Transitions/HueRotation.tsx b/apps/example/src/Examples/Transitions/HueRotation.tsx similarity index 100% rename from apps/paper/src/Examples/Transitions/HueRotation.tsx rename to apps/example/src/Examples/Transitions/HueRotation.tsx diff --git a/apps/paper/src/Examples/Transitions/Math.ts b/apps/example/src/Examples/Transitions/Math.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/Math.ts rename to apps/example/src/Examples/Transitions/Math.ts diff --git a/apps/paper/src/Examples/Transitions/Transitions.tsx b/apps/example/src/Examples/Transitions/Transitions.tsx similarity index 100% rename from apps/paper/src/Examples/Transitions/Transitions.tsx rename to apps/example/src/Examples/Transitions/Transitions.tsx diff --git a/apps/paper/src/Examples/Transitions/assets/1-large.jpg b/apps/example/src/Examples/Transitions/assets/1-large.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/1-large.jpg rename to apps/example/src/Examples/Transitions/assets/1-large.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/1.jpg b/apps/example/src/Examples/Transitions/assets/1.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/1.jpg rename to apps/example/src/Examples/Transitions/assets/1.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/2-large.jpg b/apps/example/src/Examples/Transitions/assets/2-large.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/2-large.jpg rename to apps/example/src/Examples/Transitions/assets/2-large.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/2.jpg b/apps/example/src/Examples/Transitions/assets/2.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/2.jpg rename to apps/example/src/Examples/Transitions/assets/2.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/3-large.jpg b/apps/example/src/Examples/Transitions/assets/3-large.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/3-large.jpg rename to apps/example/src/Examples/Transitions/assets/3-large.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/3.jpg b/apps/example/src/Examples/Transitions/assets/3.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/3.jpg rename to apps/example/src/Examples/Transitions/assets/3.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/4-large.jpg b/apps/example/src/Examples/Transitions/assets/4-large.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/4-large.jpg rename to apps/example/src/Examples/Transitions/assets/4-large.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/4.jpg b/apps/example/src/Examples/Transitions/assets/4.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/4.jpg rename to apps/example/src/Examples/Transitions/assets/4.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/5-large.jpg b/apps/example/src/Examples/Transitions/assets/5-large.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/5-large.jpg rename to apps/example/src/Examples/Transitions/assets/5-large.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/5.jpg b/apps/example/src/Examples/Transitions/assets/5.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/5.jpg rename to apps/example/src/Examples/Transitions/assets/5.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/6-large.jpg b/apps/example/src/Examples/Transitions/assets/6-large.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/6-large.jpg rename to apps/example/src/Examples/Transitions/assets/6-large.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/6.jpg b/apps/example/src/Examples/Transitions/assets/6.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/6.jpg rename to apps/example/src/Examples/Transitions/assets/6.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/7-large.jpg b/apps/example/src/Examples/Transitions/assets/7-large.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/7-large.jpg rename to apps/example/src/Examples/Transitions/assets/7-large.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/7.jpg b/apps/example/src/Examples/Transitions/assets/7.jpg similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/7.jpg rename to apps/example/src/Examples/Transitions/assets/7.jpg diff --git a/apps/paper/src/Examples/Transitions/assets/product.png b/apps/example/src/Examples/Transitions/assets/product.png similarity index 100% rename from apps/paper/src/Examples/Transitions/assets/product.png rename to apps/example/src/Examples/Transitions/assets/product.png diff --git a/apps/paper/src/Examples/Transitions/index.ts b/apps/example/src/Examples/Transitions/index.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/index.ts rename to apps/example/src/Examples/Transitions/index.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/Base.ts b/apps/example/src/Examples/Transitions/transitions/Base.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/Base.ts rename to apps/example/src/Examples/Transitions/transitions/Base.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/cube.ts b/apps/example/src/Examples/Transitions/transitions/cube.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/cube.ts rename to apps/example/src/Examples/Transitions/transitions/cube.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/glitchMemories.ts b/apps/example/src/Examples/Transitions/transitions/glitchMemories.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/glitchMemories.ts rename to apps/example/src/Examples/Transitions/transitions/glitchMemories.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/index.ts b/apps/example/src/Examples/Transitions/transitions/index.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/index.ts rename to apps/example/src/Examples/Transitions/transitions/index.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/linear.ts b/apps/example/src/Examples/Transitions/transitions/linear.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/linear.ts rename to apps/example/src/Examples/Transitions/transitions/linear.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/pageCurl.ts b/apps/example/src/Examples/Transitions/transitions/pageCurl.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/pageCurl.ts rename to apps/example/src/Examples/Transitions/transitions/pageCurl.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/swap.ts b/apps/example/src/Examples/Transitions/transitions/swap.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/swap.ts rename to apps/example/src/Examples/Transitions/transitions/swap.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/swirl.ts b/apps/example/src/Examples/Transitions/transitions/swirl.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/swirl.ts rename to apps/example/src/Examples/Transitions/transitions/swirl.ts diff --git a/apps/paper/src/Examples/Transitions/transitions/waterDrops.ts b/apps/example/src/Examples/Transitions/transitions/waterDrops.ts similarity index 100% rename from apps/paper/src/Examples/Transitions/transitions/waterDrops.ts rename to apps/example/src/Examples/Transitions/transitions/waterDrops.ts diff --git a/apps/paper/src/Examples/Vertices/Triangles.tsx b/apps/example/src/Examples/Vertices/Triangles.tsx similarity index 100% rename from apps/paper/src/Examples/Vertices/Triangles.tsx rename to apps/example/src/Examples/Vertices/Triangles.tsx diff --git a/apps/paper/src/Examples/Vertices/Vertices.tsx b/apps/example/src/Examples/Vertices/Vertices.tsx similarity index 100% rename from apps/paper/src/Examples/Vertices/Vertices.tsx rename to apps/example/src/Examples/Vertices/Vertices.tsx diff --git a/apps/paper/src/Examples/Vertices/cdt2d.d.ts b/apps/example/src/Examples/Vertices/cdt2d.d.ts similarity index 100% rename from apps/paper/src/Examples/Vertices/cdt2d.d.ts rename to apps/example/src/Examples/Vertices/cdt2d.d.ts diff --git a/apps/paper/src/Examples/Vertices/index.ts b/apps/example/src/Examples/Vertices/index.ts similarity index 100% rename from apps/paper/src/Examples/Vertices/index.ts rename to apps/example/src/Examples/Vertices/index.ts diff --git a/apps/paper/src/Examples/Vertices/squares.png b/apps/example/src/Examples/Vertices/squares.png similarity index 100% rename from apps/paper/src/Examples/Vertices/squares.png rename to apps/example/src/Examples/Vertices/squares.png diff --git a/apps/paper/src/Examples/Video/Video.tsx b/apps/example/src/Examples/Video/Video.tsx similarity index 100% rename from apps/paper/src/Examples/Video/Video.tsx rename to apps/example/src/Examples/Video/Video.tsx diff --git a/apps/paper/src/Examples/Video/index.ts b/apps/example/src/Examples/Video/index.ts similarity index 100% rename from apps/paper/src/Examples/Video/index.ts rename to apps/example/src/Examples/Video/index.ts diff --git a/apps/paper/src/Examples/Wallet/Math.ts b/apps/example/src/Examples/Wallet/Math.ts similarity index 100% rename from apps/paper/src/Examples/Wallet/Math.ts rename to apps/example/src/Examples/Wallet/Math.ts diff --git a/apps/paper/src/Examples/Wallet/Model.ts b/apps/example/src/Examples/Wallet/Model.ts similarity index 100% rename from apps/paper/src/Examples/Wallet/Model.ts rename to apps/example/src/Examples/Wallet/Model.ts diff --git a/apps/paper/src/Examples/Wallet/Wallet.tsx b/apps/example/src/Examples/Wallet/Wallet.tsx similarity index 100% rename from apps/paper/src/Examples/Wallet/Wallet.tsx rename to apps/example/src/Examples/Wallet/Wallet.tsx diff --git a/apps/paper/src/Examples/Wallet/components/Cursor.tsx b/apps/example/src/Examples/Wallet/components/Cursor.tsx similarity index 100% rename from apps/paper/src/Examples/Wallet/components/Cursor.tsx rename to apps/example/src/Examples/Wallet/components/Cursor.tsx diff --git a/apps/paper/src/Examples/Wallet/components/Header.tsx b/apps/example/src/Examples/Wallet/components/Header.tsx similarity index 100% rename from apps/paper/src/Examples/Wallet/components/Header.tsx rename to apps/example/src/Examples/Wallet/components/Header.tsx diff --git a/apps/paper/src/Examples/Wallet/components/Label.tsx b/apps/example/src/Examples/Wallet/components/Label.tsx similarity index 100% rename from apps/paper/src/Examples/Wallet/components/Label.tsx rename to apps/example/src/Examples/Wallet/components/Label.tsx diff --git a/apps/paper/src/Examples/Wallet/components/List.tsx b/apps/example/src/Examples/Wallet/components/List.tsx similarity index 100% rename from apps/paper/src/Examples/Wallet/components/List.tsx rename to apps/example/src/Examples/Wallet/components/List.tsx diff --git a/apps/paper/src/Examples/Wallet/components/Selection.tsx b/apps/example/src/Examples/Wallet/components/Selection.tsx similarity index 100% rename from apps/paper/src/Examples/Wallet/components/Selection.tsx rename to apps/example/src/Examples/Wallet/components/Selection.tsx diff --git a/apps/paper/src/Examples/Wallet/components/useGraphTouchHandler.ts b/apps/example/src/Examples/Wallet/components/useGraphTouchHandler.ts similarity index 100% rename from apps/paper/src/Examples/Wallet/components/useGraphTouchHandler.ts rename to apps/example/src/Examples/Wallet/components/useGraphTouchHandler.ts diff --git a/apps/paper/src/Examples/Wallet/data.json b/apps/example/src/Examples/Wallet/data.json similarity index 100% rename from apps/paper/src/Examples/Wallet/data.json rename to apps/example/src/Examples/Wallet/data.json diff --git a/apps/paper/src/Examples/Wallet/index.ts b/apps/example/src/Examples/Wallet/index.ts similarity index 100% rename from apps/paper/src/Examples/Wallet/index.ts rename to apps/example/src/Examples/Wallet/index.ts diff --git a/apps/paper/src/Examples/Wallpaper/Wallpaper.tsx b/apps/example/src/Examples/Wallpaper/Wallpaper.tsx similarity index 100% rename from apps/paper/src/Examples/Wallpaper/Wallpaper.tsx rename to apps/example/src/Examples/Wallpaper/Wallpaper.tsx diff --git a/apps/paper/src/Examples/Wallpaper/index.ts b/apps/example/src/Examples/Wallpaper/index.ts similarity index 100% rename from apps/paper/src/Examples/Wallpaper/index.ts rename to apps/example/src/Examples/Wallpaper/index.ts diff --git a/apps/paper/src/Examples/WebGPU/WebGPU.tsx b/apps/example/src/Examples/WebGPU/WebGPU.tsx similarity index 100% rename from apps/paper/src/Examples/WebGPU/WebGPU.tsx rename to apps/example/src/Examples/WebGPU/WebGPU.tsx diff --git a/apps/paper/src/Examples/WebGPU/index.ts b/apps/example/src/Examples/WebGPU/index.ts similarity index 100% rename from apps/paper/src/Examples/WebGPU/index.ts rename to apps/example/src/Examples/WebGPU/index.ts diff --git a/apps/paper/src/Examples/WebGPU/utils.ts b/apps/example/src/Examples/WebGPU/utils.ts similarity index 100% rename from apps/paper/src/Examples/WebGPU/utils.ts rename to apps/example/src/Examples/WebGPU/utils.ts diff --git a/apps/paper/src/Examples/index.ts b/apps/example/src/Examples/index.ts similarity index 100% rename from apps/paper/src/Examples/index.ts rename to apps/example/src/Examples/index.ts diff --git a/apps/paper/src/Home/HomeScreen.tsx b/apps/example/src/Home/HomeScreen.tsx similarity index 100% rename from apps/paper/src/Home/HomeScreen.tsx rename to apps/example/src/Home/HomeScreen.tsx diff --git a/apps/paper/src/Home/HomeScreenButton.tsx b/apps/example/src/Home/HomeScreenButton.tsx similarity index 100% rename from apps/paper/src/Home/HomeScreenButton.tsx rename to apps/example/src/Home/HomeScreenButton.tsx diff --git a/apps/paper/src/Home/index.ts b/apps/example/src/Home/index.ts similarity index 100% rename from apps/paper/src/Home/index.ts rename to apps/example/src/Home/index.ts diff --git a/apps/paper/src/Tests/Screens/Snapshot1.tsx b/apps/example/src/Tests/Screens/Snapshot1.tsx similarity index 100% rename from apps/paper/src/Tests/Screens/Snapshot1.tsx rename to apps/example/src/Tests/Screens/Snapshot1.tsx diff --git a/apps/paper/src/Tests/Screens/Snapshot2.tsx b/apps/example/src/Tests/Screens/Snapshot2.tsx similarity index 100% rename from apps/paper/src/Tests/Screens/Snapshot2.tsx rename to apps/example/src/Tests/Screens/Snapshot2.tsx diff --git a/apps/paper/src/Tests/Screens/Snapshot3.tsx b/apps/example/src/Tests/Screens/Snapshot3.tsx similarity index 100% rename from apps/paper/src/Tests/Screens/Snapshot3.tsx rename to apps/example/src/Tests/Screens/Snapshot3.tsx diff --git a/apps/paper/src/Tests/Screens/Snapshot4.tsx b/apps/example/src/Tests/Screens/Snapshot4.tsx similarity index 100% rename from apps/paper/src/Tests/Screens/Snapshot4.tsx rename to apps/example/src/Tests/Screens/Snapshot4.tsx diff --git a/apps/paper/src/Tests/Screens/Snapshot5.tsx b/apps/example/src/Tests/Screens/Snapshot5.tsx similarity index 100% rename from apps/paper/src/Tests/Screens/Snapshot5.tsx rename to apps/example/src/Tests/Screens/Snapshot5.tsx diff --git a/apps/paper/src/Tests/Screens/index.ts b/apps/example/src/Tests/Screens/index.ts similarity index 100% rename from apps/paper/src/Tests/Screens/index.ts rename to apps/example/src/Tests/Screens/index.ts diff --git a/apps/paper/src/Tests/Tests.tsx b/apps/example/src/Tests/Tests.tsx similarity index 100% rename from apps/paper/src/Tests/Tests.tsx rename to apps/example/src/Tests/Tests.tsx diff --git a/apps/paper/src/Tests/assets/BigBuckBunny.mp4 b/apps/example/src/Tests/assets/BigBuckBunny.mp4 similarity index 100% rename from apps/paper/src/Tests/assets/BigBuckBunny.mp4 rename to apps/example/src/Tests/assets/BigBuckBunny.mp4 diff --git a/apps/paper/src/Tests/assets/DIN-Medium.ttf b/apps/example/src/Tests/assets/DIN-Medium.ttf similarity index 100% rename from apps/paper/src/Tests/assets/DIN-Medium.ttf rename to apps/example/src/Tests/assets/DIN-Medium.ttf diff --git a/apps/paper/src/Tests/assets/NotoColorEmoji.ttf b/apps/example/src/Tests/assets/NotoColorEmoji.ttf similarity index 100% rename from apps/paper/src/Tests/assets/NotoColorEmoji.ttf rename to apps/example/src/Tests/assets/NotoColorEmoji.ttf diff --git a/apps/paper/src/Tests/assets/NotoSansSC-Regular.otf b/apps/example/src/Tests/assets/NotoSansSC-Regular.otf similarity index 100% rename from apps/paper/src/Tests/assets/NotoSansSC-Regular.otf rename to apps/example/src/Tests/assets/NotoSansSC-Regular.otf diff --git a/apps/paper/src/Tests/assets/Roboto-Medium.ttf b/apps/example/src/Tests/assets/Roboto-Medium.ttf similarity index 100% rename from apps/paper/src/Tests/assets/Roboto-Medium.ttf rename to apps/example/src/Tests/assets/Roboto-Medium.ttf diff --git a/apps/paper/src/Tests/assets/Roboto-Regular.ttf b/apps/example/src/Tests/assets/Roboto-Regular.ttf similarity index 100% rename from apps/paper/src/Tests/assets/Roboto-Regular.ttf rename to apps/example/src/Tests/assets/Roboto-Regular.ttf diff --git a/apps/paper/src/Tests/assets/UberMove-Medium_mono.ttf b/apps/example/src/Tests/assets/UberMove-Medium_mono.ttf similarity index 100% rename from apps/paper/src/Tests/assets/UberMove-Medium_mono.ttf rename to apps/example/src/Tests/assets/UberMove-Medium_mono.ttf diff --git a/apps/paper/src/Tests/assets/mask.png b/apps/example/src/Tests/assets/mask.png similarity index 100% rename from apps/paper/src/Tests/assets/mask.png rename to apps/example/src/Tests/assets/mask.png diff --git a/apps/paper/src/Tests/assets/oslo.jpg b/apps/example/src/Tests/assets/oslo.jpg similarity index 100% rename from apps/paper/src/Tests/assets/oslo.jpg rename to apps/example/src/Tests/assets/oslo.jpg diff --git a/apps/paper/src/Tests/assets/skia_logo.png b/apps/example/src/Tests/assets/skia_logo.png similarity index 100% rename from apps/paper/src/Tests/assets/skia_logo.png rename to apps/example/src/Tests/assets/skia_logo.png diff --git a/apps/paper/src/Tests/assets/skia_logo_jpeg.jpg b/apps/example/src/Tests/assets/skia_logo_jpeg.jpg similarity index 100% rename from apps/paper/src/Tests/assets/skia_logo_jpeg.jpg rename to apps/example/src/Tests/assets/skia_logo_jpeg.jpg diff --git a/apps/paper/src/Tests/deserialize.ts b/apps/example/src/Tests/deserialize.ts similarity index 100% rename from apps/paper/src/Tests/deserialize.ts rename to apps/example/src/Tests/deserialize.ts diff --git a/apps/paper/src/Tests/index.ts b/apps/example/src/Tests/index.ts similarity index 100% rename from apps/paper/src/Tests/index.ts rename to apps/example/src/Tests/index.ts diff --git a/apps/paper/src/Tests/useAssets.ts b/apps/example/src/Tests/useAssets.ts similarity index 100% rename from apps/paper/src/Tests/useAssets.ts rename to apps/example/src/Tests/useAssets.ts diff --git a/apps/paper/src/Tests/useClient.ts b/apps/example/src/Tests/useClient.ts similarity index 100% rename from apps/paper/src/Tests/useClient.ts rename to apps/example/src/Tests/useClient.ts diff --git a/apps/paper/src/assets/SF-Mono-Semibold.otf b/apps/example/src/assets/SF-Mono-Semibold.otf similarity index 100% rename from apps/paper/src/assets/SF-Mono-Semibold.otf rename to apps/example/src/assets/SF-Mono-Semibold.otf diff --git a/apps/paper/src/assets/SF-Pro-Display-Bold.otf b/apps/example/src/assets/SF-Pro-Display-Bold.otf similarity index 100% rename from apps/paper/src/assets/SF-Pro-Display-Bold.otf rename to apps/example/src/assets/SF-Pro-Display-Bold.otf diff --git a/apps/paper/src/assets/birdFlying.gif b/apps/example/src/assets/birdFlying.gif similarity index 100% rename from apps/paper/src/assets/birdFlying.gif rename to apps/example/src/assets/birdFlying.gif diff --git a/apps/paper/src/assets/birdFlying2.gif b/apps/example/src/assets/birdFlying2.gif similarity index 100% rename from apps/paper/src/assets/birdFlying2.gif rename to apps/example/src/assets/birdFlying2.gif diff --git a/apps/paper/src/assets/card.png b/apps/example/src/assets/card.png similarity index 100% rename from apps/paper/src/assets/card.png rename to apps/example/src/assets/card.png diff --git a/apps/paper/src/assets/cat.png b/apps/example/src/assets/cat.png similarity index 100% rename from apps/paper/src/assets/cat.png rename to apps/example/src/assets/cat.png diff --git a/apps/paper/src/assets/debug.png b/apps/example/src/assets/debug.png similarity index 100% rename from apps/paper/src/assets/debug.png rename to apps/example/src/assets/debug.png diff --git a/apps/paper/src/assets/discrete.png b/apps/example/src/assets/discrete.png similarity index 100% rename from apps/paper/src/assets/discrete.png rename to apps/example/src/assets/discrete.png diff --git a/apps/paper/src/assets/dynamo.jpg b/apps/example/src/assets/dynamo.jpg similarity index 100% rename from apps/paper/src/assets/dynamo.jpg rename to apps/example/src/assets/dynamo.jpg diff --git a/apps/paper/src/assets/icons8-github.svg b/apps/example/src/assets/icons8-github.svg similarity index 100% rename from apps/paper/src/assets/icons8-github.svg rename to apps/example/src/assets/icons8-github.svg diff --git a/apps/paper/src/assets/icons8-octocat.svg b/apps/example/src/assets/icons8-octocat.svg similarity index 100% rename from apps/paper/src/assets/icons8-octocat.svg rename to apps/example/src/assets/icons8-octocat.svg diff --git a/apps/paper/src/assets/icons8-stack-exchange.svg b/apps/example/src/assets/icons8-stack-exchange.svg similarity index 100% rename from apps/paper/src/assets/icons8-stack-exchange.svg rename to apps/example/src/assets/icons8-stack-exchange.svg diff --git a/apps/paper/src/assets/icons8-stack-overflow.svg b/apps/example/src/assets/icons8-stack-overflow.svg similarity index 100% rename from apps/paper/src/assets/icons8-stack-overflow.svg rename to apps/example/src/assets/icons8-stack-overflow.svg diff --git a/apps/paper/src/assets/oslo.jpg b/apps/example/src/assets/oslo.jpg similarity index 100% rename from apps/paper/src/assets/oslo.jpg rename to apps/example/src/assets/oslo.jpg diff --git a/apps/paper/src/assets/oslo2.jpg b/apps/example/src/assets/oslo2.jpg similarity index 100% rename from apps/paper/src/assets/oslo2.jpg rename to apps/example/src/assets/oslo2.jpg diff --git a/apps/paper/src/assets/tiger.svg b/apps/example/src/assets/tiger.svg similarity index 100% rename from apps/paper/src/assets/tiger.svg rename to apps/example/src/assets/tiger.svg diff --git a/apps/paper/src/assets/videos/bunny.mp4 b/apps/example/src/assets/videos/bunny.mp4 similarity index 100% rename from apps/paper/src/assets/videos/bunny.mp4 rename to apps/example/src/assets/videos/bunny.mp4 diff --git a/apps/paper/src/assets/zurich.jpg b/apps/example/src/assets/zurich.jpg similarity index 100% rename from apps/paper/src/assets/zurich.jpg rename to apps/example/src/assets/zurich.jpg diff --git a/apps/paper/src/components/Animations.tsx b/apps/example/src/components/Animations.tsx similarity index 100% rename from apps/paper/src/components/Animations.tsx rename to apps/example/src/components/Animations.tsx diff --git a/apps/paper/src/components/ExportableCanvas.tsx b/apps/example/src/components/ExportableCanvas.tsx similarity index 100% rename from apps/paper/src/components/ExportableCanvas.tsx rename to apps/example/src/components/ExportableCanvas.tsx diff --git a/apps/paper/src/components/ShaderLib/Tags.tsx b/apps/example/src/components/ShaderLib/Tags.tsx similarity index 100% rename from apps/paper/src/components/ShaderLib/Tags.tsx rename to apps/example/src/components/ShaderLib/Tags.tsx diff --git a/apps/paper/src/components/ShaderLib/index.ts b/apps/example/src/components/ShaderLib/index.ts similarity index 100% rename from apps/paper/src/components/ShaderLib/index.ts rename to apps/example/src/components/ShaderLib/index.ts diff --git a/apps/paper/src/components/SimpleNoise.tsx b/apps/example/src/components/SimpleNoise.tsx similarity index 100% rename from apps/paper/src/components/SimpleNoise.tsx rename to apps/example/src/components/SimpleNoise.tsx diff --git a/apps/paper/src/types.ts b/apps/example/src/types.ts similarity index 100% rename from apps/paper/src/types.ts rename to apps/example/src/types.ts diff --git a/apps/example/tsconfig.json b/apps/example/tsconfig.json new file mode 100644 index 0000000000..304ab4e2d8 --- /dev/null +++ b/apps/example/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "@react-native/typescript-config/tsconfig.json" +} diff --git a/apps/example/visionos/Podfile b/apps/example/visionos/Podfile new file mode 100644 index 0000000000..e7cb9fec6d --- /dev/null +++ b/apps/example/visionos/Podfile @@ -0,0 +1,9 @@ +ws_dir = Pathname.new(__dir__) +ws_dir = ws_dir.parent until + File.exist?("#{ws_dir}/node_modules/react-native-test-app/visionos/test_app.rb") || + ws_dir.expand_path.to_s == '/' +require "#{ws_dir}/node_modules/react-native-test-app/visionos/test_app.rb" + +workspace 'skia-example.xcworkspace' + +use_test_app! :hermes_enabled => true diff --git a/apps/fabric/.bundle/config b/apps/fabric/.bundle/config deleted file mode 100644 index 848943bb52..0000000000 --- a/apps/fabric/.bundle/config +++ /dev/null @@ -1,2 +0,0 @@ -BUNDLE_PATH: "vendor/bundle" -BUNDLE_FORCE_RUBY_PLATFORM: 1 diff --git a/apps/fabric/.gitignore b/apps/fabric/.gitignore deleted file mode 100644 index 2669e1cffc..0000000000 --- a/apps/fabric/.gitignore +++ /dev/null @@ -1,73 +0,0 @@ -# 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 - -# 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 - -# Yarn -.yarn/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/sdks -!.yarn/versions diff --git a/apps/fabric/Gemfile b/apps/fabric/Gemfile deleted file mode 100644 index f3a80a6c4f..0000000000 --- a/apps/fabric/Gemfile +++ /dev/null @@ -1,9 +0,0 @@ -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 'bundler', '>= 2.2.18' diff --git a/apps/fabric/README.md b/apps/fabric/README.md deleted file mode 100644 index 12470c30ec..0000000000 --- a/apps/fabric/README.md +++ /dev/null @@ -1,79 +0,0 @@ -This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli). - -# Getting Started - ->**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding. - -## Step 1: Start the Metro Server - -First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. - -To start Metro, run the following command from the _root_ of your React Native project: - -```bash -# using npm -npm start - -# OR using Yarn -yarn start -``` - -## Step 2: Start your Application - -Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app: - -### For Android - -```bash -# using npm -npm run android - -# OR using Yarn -yarn android -``` - -### For iOS - -```bash -# using npm -npm run ios - -# OR using Yarn -yarn ios -``` - -If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly. - -This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively. - -## Step 3: Modifying your App - -Now that you have successfully run the app, let's modify it. - -1. Open `App.tsx` in your text editor of choice and edit some lines. -2. For **Android**: Press the R key twice or select **"Reload"** from the **Developer Menu** (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes! - - For **iOS**: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes! - -## Congratulations! :tada: - -You've successfully run and modified your React Native App. :partying_face: - -### Now what? - -- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps). -- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started). - -# Troubleshooting - -If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page. - -# Learn More - -To learn more about React Native, take a look at the following resources: - -- [React Native Website](https://reactnative.dev) - learn more about React Native. -- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment. -- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**. -- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts. -- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native. diff --git a/apps/fabric/android/app/build.gradle b/apps/fabric/android/app/build.gradle deleted file mode 100644 index e0e9b76dc8..0000000000 --- a/apps/fabric/android/app/build.gradle +++ /dev/null @@ -1,119 +0,0 @@ -apply plugin: "com.android.application" -apply plugin: "org.jetbrains.kotlin.android" -apply plugin: "com.facebook.react" - -/** - * This is the configuration block to customize your React Native Android app. - * By default you don't need to apply any configuration, just uncomment the lines you need. - */ -react { - /* Folders */ - // The root of your project, i.e. where "package.json" lives. Default is '../..' - // root = file("../../") - // The folder where the react-native NPM package is. Default is ../../node_modules/react-native - // reactNativeDir = file("../../node_modules/react-native") - // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen - // codegenDir = file("../../node_modules/@react-native/codegen") - // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js - // cliFile = file("../../node_modules/react-native/cli.js") - - /* Variants */ - // The list of variants to that are debuggable. For those we're going to - // skip the bundling of the JS bundle and the assets. By default is just 'debug'. - // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. - // debuggableVariants = ["liteDebug", "prodDebug"] - - /* Bundling */ - // A list containing the node command and its flags. Default is just 'node'. - // nodeExecutableAndArgs = ["node"] - // - // The command to run when bundling. By default is 'bundle' - // bundleCommand = "ram-bundle" - // - // The path to the CLI configuration file. Default is empty. - // bundleConfig = file(../rn-cli.config.js) - // - // The name of the generated asset file containing your JS bundle - // bundleAssetName = "MyApplication.android.bundle" - // - // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' - // entryFile = file("../js/MyApplication.android.js") - // - // A list of extra flags to pass to the 'bundle' commands. - // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle - // extraPackagerArgs = [] - - /* Hermes Commands */ - // The hermes compiler command to run. By default it is 'hermesc' - // hermesCommand = "$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.fabric" - defaultConfig { - applicationId "com.fabric" - 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/apps/fabric/android/app/debug.keystore b/apps/fabric/android/app/debug.keystore deleted file mode 100644 index 364e105ed3..0000000000 Binary files a/apps/fabric/android/app/debug.keystore and /dev/null differ diff --git a/apps/fabric/android/app/proguard-rules.pro b/apps/fabric/android/app/proguard-rules.pro deleted file mode 100644 index 11b025724a..0000000000 --- a/apps/fabric/android/app/proguard-rules.pro +++ /dev/null @@ -1,10 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: diff --git a/apps/fabric/android/app/src/debug/AndroidManifest.xml b/apps/fabric/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index eb98c01afd..0000000000 --- a/apps/fabric/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - diff --git a/apps/fabric/android/app/src/main/AndroidManifest.xml b/apps/fabric/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index e1892528b8..0000000000 --- a/apps/fabric/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - diff --git a/apps/fabric/android/app/src/main/java/com/fabric/MainActivity.kt b/apps/fabric/android/app/src/main/java/com/fabric/MainActivity.kt deleted file mode 100644 index a2cde78a50..0000000000 --- a/apps/fabric/android/app/src/main/java/com/fabric/MainActivity.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.fabric - -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 = "fabric" - - /** - * 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/apps/fabric/android/app/src/main/java/com/fabric/MainApplication.kt b/apps/fabric/android/app/src/main/java/com/fabric/MainApplication.kt deleted file mode 100644 index 1faee0a98c..0000000000 --- a/apps/fabric/android/app/src/main/java/com/fabric/MainApplication.kt +++ /dev/null @@ -1,43 +0,0 @@ -package com.fabric - -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.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, false) - 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/apps/fabric/android/app/src/main/res/drawable/rn_edit_text_material.xml b/apps/fabric/android/app/src/main/res/drawable/rn_edit_text_material.xml deleted file mode 100644 index 5c25e728ea..0000000000 --- a/apps/fabric/android/app/src/main/res/drawable/rn_edit_text_material.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - diff --git a/apps/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index a2f5908281..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 1b52399808..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index ff10afd6e1..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 115a4c768a..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index dcd3cd8083..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 459ca609d3..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 8ca12fe024..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 8e19b410a1..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index b824ebdd48..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 4c19a13c23..0000000000 Binary files a/apps/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/fabric/android/app/src/main/res/values/strings.xml b/apps/fabric/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 44344eb3f7..0000000000 --- a/apps/fabric/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - fabric - diff --git a/apps/fabric/android/app/src/main/res/values/styles.xml b/apps/fabric/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 7ba83a2ad5..0000000000 --- a/apps/fabric/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/apps/fabric/android/build.gradle b/apps/fabric/android/build.gradle deleted file mode 100644 index 54f9e737eb..0000000000 --- a/apps/fabric/android/build.gradle +++ /dev/null @@ -1,30 +0,0 @@ -allprojects { - project.pluginManager.withPlugin("com.facebook.react") { - react { - reactNativeDir = rootProject.file("../../../node_modules/react-native/") - codegenDir = rootProject.file("../../../node_modules/@react-native/codegen/") - } - } -} - -buildscript { - ext { - buildToolsVersion = "34.0.0" - minSdkVersion = 23 - compileSdkVersion = 34 - targetSdkVersion = 34 - ndkVersion = "26.1.10909125" - kotlinVersion = "1.9.24" - } - repositories { - google() - mavenCentral() - } - dependencies { - classpath("com.android.tools.build:gradle") - classpath("com.facebook.react:react-native-gradle-plugin") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") - } -} - -apply plugin: "com.facebook.react.rootproject" diff --git a/apps/fabric/android/gradle.properties b/apps/fabric/android/gradle.properties deleted file mode 100644 index 5e24e3aa8d..0000000000 --- a/apps/fabric/android/gradle.properties +++ /dev/null @@ -1,39 +0,0 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m -org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true - -# AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app's APK -# https://developer.android.com/topic/libraries/support-library/androidx-rn -android.useAndroidX=true - -# Use this property to specify which architecture you want to build. -# You can also override it from the CLI using -# ./gradlew -PreactNativeArchitectures=x86_64 -reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 - -# Use this property to enable support to the new architecture. -# This will allow you to use TurboModules and the Fabric render in -# your application. You should enable this flag either if you want -# to write custom TurboModules/Fabric components OR use libraries that -# are providing them. -newArchEnabled=true - -# Use this property to enable or disable the Hermes JS engine. -# If set to false, you will be using JSC instead. -hermesEnabled=true diff --git a/apps/fabric/android/settings.gradle b/apps/fabric/android/settings.gradle deleted file mode 100644 index 848c33e647..0000000000 --- a/apps/fabric/android/settings.gradle +++ /dev/null @@ -1,6 +0,0 @@ -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 = 'fabric' -include ':app' -includeBuild('../../../node_modules/@react-native/gradle-plugin') diff --git a/apps/fabric/app.json b/apps/fabric/app.json deleted file mode 100644 index e5584e6abe..0000000000 --- a/apps/fabric/app.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "fabric", - "displayName": "fabric" -} diff --git a/apps/fabric/ios/.xcode.env b/apps/fabric/ios/.xcode.env deleted file mode 100644 index 3d5782c715..0000000000 --- a/apps/fabric/ios/.xcode.env +++ /dev/null @@ -1,11 +0,0 @@ -# This `.xcode.env` file is versioned and is used to source the environment -# used when running script phases inside Xcode. -# To customize your local environment, you can create an `.xcode.env.local` -# file that is not versioned. - -# NODE_BINARY variable contains the PATH to the node executable. -# -# Customize the NODE_BINARY variable here. -# For example, to use nvm with brew, add the following line -# . "$(brew --prefix nvm)/nvm.sh" --no-use -export NODE_BINARY=$(command -v node) diff --git a/apps/fabric/ios/.xcode.env.local b/apps/fabric/ios/.xcode.env.local deleted file mode 100644 index 772b339b4c..0000000000 --- a/apps/fabric/ios/.xcode.env.local +++ /dev/null @@ -1 +0,0 @@ -export NODE_BINARY=$(command -v node) diff --git a/apps/fabric/ios/Podfile b/apps/fabric/ios/Podfile deleted file mode 100644 index f9057d4ef5..0000000000 --- a/apps/fabric/ios/Podfile +++ /dev/null @@ -1,42 +0,0 @@ -# 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 - -ENV['RCT_NEW_ARCH_ENABLED'] = '1' - -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 'fabric' 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 'fabricTests' 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 \ No newline at end of file diff --git a/apps/fabric/ios/fabric.xcodeproj/project.pbxproj b/apps/fabric/ios/fabric.xcodeproj/project.pbxproj deleted file mode 100644 index f06fc8f694..0000000000 --- a/apps/fabric/ios/fabric.xcodeproj/project.pbxproj +++ /dev/null @@ -1,713 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 00E356F31AD99517003FC87E /* fabricTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* fabricTests.m */; }; - 0C80B921A6F3F58F76C31292 /* libPods-fabric.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-fabric.a */; }; - 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 372281265EB7B8D6DC3CC25E /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 9C20D216BBB93271E312AF04 /* PrivacyInfo.xcprivacy */; }; - 7699B88040F8A987B510C191 /* libPods-fabric-fabricTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-fabric-fabricTests.a */; }; - 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = fabric; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 00E356EE1AD99517003FC87E /* fabricTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = fabricTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 00E356F21AD99517003FC87E /* fabricTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = fabricTests.m; sourceTree = ""; }; - 13B07F961A680F5B00A75B9A /* fabric.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = fabric.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = fabric/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = fabric/AppDelegate.mm; sourceTree = ""; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = fabric/Images.xcassets; sourceTree = ""; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = fabric/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = fabric/main.m; sourceTree = ""; }; - 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = fabric/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 19F6CBCC0A4E27FBF8BF4A61 /* libPods-fabric-fabricTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-fabric-fabricTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B4392A12AC88292D35C810B /* Pods-fabric.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-fabric.debug.xcconfig"; path = "Target Support Files/Pods-fabric/Pods-fabric.debug.xcconfig"; sourceTree = ""; }; - 5709B34CF0A7D63546082F79 /* Pods-fabric.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-fabric.release.xcconfig"; path = "Target Support Files/Pods-fabric/Pods-fabric.release.xcconfig"; sourceTree = ""; }; - 5B7EB9410499542E8C5724F5 /* Pods-fabric-fabricTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-fabric-fabricTests.debug.xcconfig"; path = "Target Support Files/Pods-fabric-fabricTests/Pods-fabric-fabricTests.debug.xcconfig"; sourceTree = ""; }; - 5DCACB8F33CDC322A6C60F78 /* libPods-fabric.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-fabric.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = fabric/LaunchScreen.storyboard; sourceTree = ""; }; - 89C6BE57DB24E9ADA2F236DE /* Pods-fabric-fabricTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-fabric-fabricTests.release.xcconfig"; path = "Target Support Files/Pods-fabric-fabricTests/Pods-fabric-fabricTests.release.xcconfig"; sourceTree = ""; }; - 9C20D216BBB93271E312AF04 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = fabric/PrivacyInfo.xcprivacy; 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 = ( - 7699B88040F8A987B510C191 /* libPods-fabric-fabricTests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0C80B921A6F3F58F76C31292 /* libPods-fabric.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 00E356EF1AD99517003FC87E /* fabricTests */ = { - isa = PBXGroup; - children = ( - 00E356F21AD99517003FC87E /* fabricTests.m */, - 00E356F01AD99517003FC87E /* Supporting Files */, - ); - path = fabricTests; - sourceTree = ""; - }; - 00E356F01AD99517003FC87E /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 00E356F11AD99517003FC87E /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 13B07FAE1A68108700A75B9A /* fabric */ = { - isa = PBXGroup; - children = ( - 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.mm */, - 13B07FB51A68108700A75B9A /* Images.xcassets */, - 13B07FB61A68108700A75B9A /* Info.plist */, - 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, - 13B07FB71A68108700A75B9A /* main.m */, - 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */, - 9C20D216BBB93271E312AF04 /* PrivacyInfo.xcprivacy */, - ); - name = fabric; - sourceTree = ""; - }; - 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { - isa = PBXGroup; - children = ( - ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 5DCACB8F33CDC322A6C60F78 /* libPods-fabric.a */, - 19F6CBCC0A4E27FBF8BF4A61 /* libPods-fabric-fabricTests.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - 832341AE1AAA6A7D00B99B32 /* Libraries */ = { - isa = PBXGroup; - children = ( - ); - name = Libraries; - sourceTree = ""; - }; - 83CBB9F61A601CBA00E9B192 = { - isa = PBXGroup; - children = ( - 13B07FAE1A68108700A75B9A /* fabric */, - 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* fabricTests */, - 83CBBA001A601CBA00E9B192 /* Products */, - 2D16E6871FA4F8E400B85C8A /* Frameworks */, - BBD78D7AC51CEA395F1C20DB /* Pods */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - usesTabs = 0; - }; - 83CBBA001A601CBA00E9B192 /* Products */ = { - isa = PBXGroup; - children = ( - 13B07F961A680F5B00A75B9A /* fabric.app */, - 00E356EE1AD99517003FC87E /* fabricTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - BBD78D7AC51CEA395F1C20DB /* Pods */ = { - isa = PBXGroup; - children = ( - 3B4392A12AC88292D35C810B /* Pods-fabric.debug.xcconfig */, - 5709B34CF0A7D63546082F79 /* Pods-fabric.release.xcconfig */, - 5B7EB9410499542E8C5724F5 /* Pods-fabric-fabricTests.debug.xcconfig */, - 89C6BE57DB24E9ADA2F236DE /* Pods-fabric-fabricTests.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 00E356ED1AD99517003FC87E /* fabricTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "fabricTests" */; - buildPhases = ( - A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, - 00E356EA1AD99517003FC87E /* Sources */, - 00E356EB1AD99517003FC87E /* Frameworks */, - 00E356EC1AD99517003FC87E /* Resources */, - C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, - F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - 00E356F51AD99517003FC87E /* PBXTargetDependency */, - ); - name = fabricTests; - productName = fabricTests; - productReference = 00E356EE1AD99517003FC87E /* fabricTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 13B07F861A680F5B00A75B9A /* fabric */ = { - isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "fabric" */; - buildPhases = ( - C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, - 13B07F871A680F5B00A75B9A /* Sources */, - 13B07F8C1A680F5B00A75B9A /* Frameworks */, - 13B07F8E1A680F5B00A75B9A /* Resources */, - 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, - E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = fabric; - productName = fabric; - productReference = 13B07F961A680F5B00A75B9A /* fabric.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 "fabric" */; - compatibilityVersion = "Xcode 12.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 83CBB9F61A601CBA00E9B192; - productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 13B07F861A680F5B00A75B9A /* fabric */, - 00E356ED1AD99517003FC87E /* fabricTests */, - ); - }; -/* 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 */, - 372281265EB7B8D6DC3CC25E /* 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"; - }; - 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-fabric/Pods-fabric-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-fabric/Pods-fabric-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-fabric/Pods-fabric-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - A55EABD7B0C7F3A422A6CC61 /* [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-fabric-fabricTests-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; - }; - C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-fabric-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; - }; - C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-fabric-fabricTests/Pods-fabric-fabricTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-fabric-fabricTests/Pods-fabric-fabricTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-fabric-fabricTests/Pods-fabric-fabricTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-fabric/Pods-fabric-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-fabric/Pods-fabric-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-fabric/Pods-fabric-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-fabric-fabricTests/Pods-fabric-fabricTests-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-fabric-fabricTests/Pods-fabric-fabricTests-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-fabric-fabricTests/Pods-fabric-fabricTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 00E356EA1AD99517003FC87E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 00E356F31AD99517003FC87E /* fabricTests.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 /* fabric */; - targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 00E356F61AD99517003FC87E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-fabric-fabricTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = fabricTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fabric.app/fabric"; - }; - name = Debug; - }; - 00E356F71AD99517003FC87E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-fabric-fabricTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - COPY_PHASE_STRIP = NO; - INFOPLIST_FILE = fabricTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fabric.app/fabric"; - }; - name = Release; - }; - 13B07F941A680F5B00A75B9A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-fabric.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 1; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = fabric/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-lc++", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = fabric; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 13B07F951A680F5B00A75B9A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-fabric.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 1; - INFOPLIST_FILE = fabric/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-lc++", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = fabric; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; - 83CBBA201A601CBA00E9B192 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CC = ""; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++20"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CXX = ""; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD = ""; - LDPLUSPLUS = ""; - LD_RUNPATH_SEARCH_PATHS = ( - /usr/lib/swift, - "$(inherited)", - ); - LIBRARY_SEARCH_PATHS = ( - "\"$(SDKROOT)/usr/lib/swift\"", - "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", - "\"$(inherited)\"", - ); - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - "-DFOLLY_CFG_NO_COROUTINES=1", - "-DFOLLY_HAVE_CLOCK_GETTIME=1", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; - USE_HERMES = true; - }; - name = Debug; - }; - 83CBBA211A601CBA00E9B192 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CC = ""; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++20"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - CXX = ""; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD = ""; - LDPLUSPLUS = ""; - LD_RUNPATH_SEARCH_PATHS = ( - /usr/lib/swift, - "$(inherited)", - ); - LIBRARY_SEARCH_PATHS = ( - "\"$(SDKROOT)/usr/lib/swift\"", - "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", - "\"$(inherited)\"", - ); - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - "-DFOLLY_CFG_NO_COROUTINES=1", - "-DFOLLY_HAVE_CLOCK_GETTIME=1", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native"; - SDKROOT = iphoneos; - USE_HERMES = true; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "fabricTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 00E356F61AD99517003FC87E /* Debug */, - 00E356F71AD99517003FC87E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "fabric" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13B07F941A680F5B00A75B9A /* Debug */, - 13B07F951A680F5B00A75B9A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "fabric" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 83CBBA201A601CBA00E9B192 /* Debug */, - 83CBBA211A601CBA00E9B192 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; -} diff --git a/apps/fabric/ios/fabric.xcodeproj/xcshareddata/xcschemes/fabric.xcscheme b/apps/fabric/ios/fabric.xcodeproj/xcshareddata/xcschemes/fabric.xcscheme deleted file mode 100644 index e2867b2ac9..0000000000 --- a/apps/fabric/ios/fabric.xcodeproj/xcshareddata/xcschemes/fabric.xcscheme +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/fabric/ios/fabric.xcworkspace/contents.xcworkspacedata b/apps/fabric/ios/fabric.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1161e8f83c..0000000000 --- a/apps/fabric/ios/fabric.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/apps/fabric/ios/fabric.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/fabric/ios/fabric.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d..0000000000 --- a/apps/fabric/ios/fabric.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/apps/fabric/ios/fabric/AppDelegate.h b/apps/fabric/ios/fabric/AppDelegate.h deleted file mode 100644 index 5d2808256c..0000000000 --- a/apps/fabric/ios/fabric/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : RCTAppDelegate - -@end diff --git a/apps/fabric/ios/fabric/AppDelegate.mm b/apps/fabric/ios/fabric/AppDelegate.mm deleted file mode 100644 index 13b5c75d67..0000000000 --- a/apps/fabric/ios/fabric/AppDelegate.mm +++ /dev/null @@ -1,31 +0,0 @@ -#import "AppDelegate.h" - -#import - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - self.moduleName = @"fabric"; - // 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/apps/fabric/ios/fabric/Images.xcassets/AppIcon.appiconset/Contents.json b/apps/fabric/ios/fabric/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 81213230de..0000000000 --- a/apps/fabric/ios/fabric/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "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/apps/fabric/ios/fabric/Images.xcassets/Contents.json b/apps/fabric/ios/fabric/Images.xcassets/Contents.json deleted file mode 100644 index 2d92bd53fd..0000000000 --- a/apps/fabric/ios/fabric/Images.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/apps/fabric/ios/fabric/Info.plist b/apps/fabric/ios/fabric/Info.plist deleted file mode 100644 index 0b4e093994..0000000000 --- a/apps/fabric/ios/fabric/Info.plist +++ /dev/null @@ -1,52 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - fabric - 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/apps/fabric/ios/fabric/LaunchScreen.storyboard b/apps/fabric/ios/fabric/LaunchScreen.storyboard deleted file mode 100644 index 041957b2e0..0000000000 --- a/apps/fabric/ios/fabric/LaunchScreen.storyboard +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/fabric/ios/fabric/PrivacyInfo.xcprivacy b/apps/fabric/ios/fabric/PrivacyInfo.xcprivacy deleted file mode 100644 index 41b8317f06..0000000000 --- a/apps/fabric/ios/fabric/PrivacyInfo.xcprivacy +++ /dev/null @@ -1,37 +0,0 @@ - - - - - NSPrivacyAccessedAPITypes - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryFileTimestamp - NSPrivacyAccessedAPITypeReasons - - C617.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults - NSPrivacyAccessedAPITypeReasons - - CA92.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategorySystemBootTime - NSPrivacyAccessedAPITypeReasons - - 35F9.1 - - - - NSPrivacyCollectedDataTypes - - NSPrivacyTracking - - - diff --git a/apps/fabric/ios/fabric/main.m b/apps/fabric/ios/fabric/main.m deleted file mode 100644 index d645c7246c..0000000000 --- a/apps/fabric/ios/fabric/main.m +++ /dev/null @@ -1,10 +0,0 @@ -#import - -#import "AppDelegate.h" - -int main(int argc, char *argv[]) -{ - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/apps/fabric/ios/fabricTests/Info.plist b/apps/fabric/ios/fabricTests/Info.plist deleted file mode 100644 index ba72822e87..0000000000 --- a/apps/fabric/ios/fabricTests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - 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/apps/fabric/ios/fabricTests/fabricTests.m b/apps/fabric/ios/fabricTests/fabricTests.m deleted file mode 100644 index 2dabff9319..0000000000 --- a/apps/fabric/ios/fabricTests/fabricTests.m +++ /dev/null @@ -1,66 +0,0 @@ -#import -#import - -#import -#import - -#define TIMEOUT_SECONDS 600 -#define TEXT_TO_LOOK_FOR @"Welcome to React" - -@interface fabricTests : XCTestCase - -@end - -@implementation fabricTests - -- (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/apps/fabric/jestSetup.mjs b/apps/fabric/jestSetup.mjs deleted file mode 100644 index 54a2c4bb03..0000000000 --- a/apps/fabric/jestSetup.mjs +++ /dev/null @@ -1,65 +0,0 @@ -/* eslint-disable import/no-extraneous-dependencies */ -import { jest } from "@jest/globals"; -import CanvasKitInit from "canvaskit-wasm/bin/full/canvaskit"; -import JestUtils from "react-native-reanimated/lib/module/jestUtils"; -import Reanimated from "react-native-reanimated/mock"; - -import Mock from "../../packages/skia/src/mock"; - -JestUtils.setUpTests(); -global.__reanimatedWorkletInit = () => {}; -global.CanvasKit = await CanvasKitInit({}); - -jest.mock("expo-asset", () => ({ - useAssets: () => [[], undefined], -})); - -jest.mock("react-native-reanimated", () => { - // The mock for `call` immediately calls the callback which is incorrect - // So we override it with a no-op - Reanimated.default.call = () => {}; - Reanimated.Extrapolation = { - CLAMP: "clamp", - }; - Reanimated.useEvent = () => {}; - Reanimated.scrollTo = () => {}; - Reanimated.useFrameCallback = () => {}; - return Reanimated; -}); -// Silence the warning: Animated: `useNativeDriver` is not supported because the native animated module is missing -jest.mock("react-native/Libraries/Animated/NativeAnimatedHelper"); - -jest.mock("@shopify/react-native-skia", () => { - jest.mock("../../packages/skia/src/Platform", () => { - const Noop = () => undefined; - return { - OS: "web", - PixelRatio: 1, - requireNativeComponent: Noop, - resolveAsset: Noop, - findNodeHandle: Noop, - NativeModules: Noop, - View: Noop, - }; - }); - return Mock.Mock(global.CanvasKit); -}); - -const mockedNavigate = jest.fn(); - -jest.mock("@react-navigation/native", () => { - const actualNav = jest.requireActual("@react-navigation/native"); - return { - ...actualNav, - useNavigation: () => ({ - navigate: mockedNavigate, - }), - }; -}); - -jest.mock("react-native-gesture-handler", () => { - return { - ...jest.requireActual("react-native-gesture-handler"), - GestureDetector: jest.fn(), - }; -}); diff --git a/apps/fabric/metro.config.js b/apps/fabric/metro.config.js deleted file mode 100644 index 8995cf78b9..0000000000 --- a/apps/fabric/metro.config.js +++ /dev/null @@ -1,48 +0,0 @@ -const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); -const path = require('path'); -const exclusionList = require('metro-config/src/defaults/exclusionList'); - -const root = path.resolve(__dirname, '../..'); - -const defaultConfig = getDefaultConfig(__dirname); -defaultConfig.resolver.assetExts.push('glb', 'gltf', 'jpg', 'bin', 'hdr', 'ttf', 'otf', 'png'); - -/** - * Metro configuration - * https://reactnative.dev/docs/metro - * - * @type {import('metro-config').MetroConfig} - */ -const config = { - watchFolders: [root], - - resolver: { - extraNodeModules: { - }, - resolveRequest: (context, moduleName, platform) => { - // Let Metro handle other modules - return context.resolveRequest(context, moduleName, platform); - }, - }, - - transformer: { - getTransformOptions: async () => ({ - transform: { - experimentalImportSupport: false, - inlineRequires: true, - }, - }), - }, - - watchFolders: [ - root - ], - - resolver: { - blockList: exclusionList([ - new RegExp(`${path.resolve(root, 'externals')}.*`) - ]) - } -}; - -module.exports = mergeConfig(defaultConfig, config); diff --git a/apps/fabric/src/App.tsx b/apps/fabric/src/App.tsx deleted file mode 100644 index f64b03a73a..0000000000 --- a/apps/fabric/src/App.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import React, { useEffect, useMemo } from "react"; -import { StyleSheet, useWindowDimensions, View } from "react-native"; -import { - BlurMask, - vec, - Canvas, - Circle, - Fill, - Group, - polar2Canvas, - mix, -} from "@shopify/react-native-skia"; -import type { SharedValue } from "react-native-reanimated"; -import { - cancelAnimation, - Easing, - useDerivedValue, - useSharedValue, - withRepeat, - withTiming, -} from "react-native-reanimated"; - -const useLoop = ({ duration }: { duration: number }) => { - const progress = useSharedValue(0); - useEffect(() => { - progress.value = withRepeat( - withTiming(1, { duration, easing: Easing.inOut(Easing.ease) }), - -1, - true - ); - return () => { - cancelAnimation(progress); - }; - }, [duration, progress]); - return progress; -}; - -const c1 = "#61bea2"; -const c2 = "#529ca0"; - -interface RingProps { - index: number; - progress: SharedValue; -} - -const Ring = ({ index, progress }: RingProps) => { - const { width, height } = useWindowDimensions(); - const R = width / 4; - const center = useMemo( - () => vec(width / 2, height / 2 - 64), - [height, width] - ); - - const theta = (index * (2 * Math.PI)) / 6; - const transform = useDerivedValue(() => { - const { x, y } = polar2Canvas( - { theta, radius: progress.value * R }, - { x: 0, y: 0 } - ); - const scale = mix(progress.value, 0.3, 1); - return [{ translateX: x }, { translateY: y }, { scale }]; - }, [progress, R]); - - return ( - - ); -}; - -export const Breathe = () => { - const { width, height } = useWindowDimensions(); - const center = useMemo( - () => vec(width / 2, height / 2 - 64), - [height, width] - ); - - const progress = useLoop({ duration: 3000 }); - - const transform = useDerivedValue( - () => [{ rotate: mix(progress.value, -Math.PI, 0) }], - [progress] - ); - - return ( - - - - - - {new Array(6).fill(0).map((_, index) => { - return ; - })} - - - - ); -}; - -// eslint-disable-next-line import/no-default-export -export default Breathe; - -const styles = StyleSheet.create({ - container: { - flex: 1, - }, -}); diff --git a/apps/fabric/tsconfig.json b/apps/fabric/tsconfig.json deleted file mode 100644 index 1b1023dbed..0000000000 --- a/apps/fabric/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "eslint-config-react-native-wcandillon/tsconfig.base", - "compilerOptions": { - "noUncheckedIndexedAccess": false, - } -} \ No newline at end of file diff --git a/apps/paper/.eslintrc b/apps/paper/.eslintrc deleted file mode 100644 index 898f316d6b..0000000000 --- a/apps/paper/.eslintrc +++ /dev/null @@ -1,24 +0,0 @@ -{ - "extends": "react-native-wcandillon", - "parserOptions": { - "project": "./tsconfig.json" - }, - "rules": { - "prefer-destructuring": [ - "error", - { - "object": true, - "array": false - } - ], - "max-len": "off", - "no-bitwise": "off", - "no-var": "off", - "@typescript-eslint/no-var-requires": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/no-empty-function": "off", - "react/jsx-uses-react": "error", - "react/react-in-jsx-scope": "error", - "reanimated/js-function-in-worklet": 0 - } -} \ No newline at end of file diff --git a/apps/paper/__tests__/App.test.tsx b/apps/paper/__tests__/App.test.tsx deleted file mode 100644 index 48bb097f9f..0000000000 --- a/apps/paper/__tests__/App.test.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import "react-native"; -import React from "react"; -// Test renderer must be required after react-native. -import { cleanup, render } from "@testing-library/react-native"; - -import App from "../src/App"; - -it("renders correctly", () => { - render(); -}); - -afterEach(cleanup); diff --git a/apps/paper/jest.config.js b/apps/paper/jest.config.js deleted file mode 100644 index 6c10a92750..0000000000 --- a/apps/paper/jest.config.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - "moduleFileExtensions": [ - "ts", - "tsx", - "js", - "jsx", - "json", - "node" - ], - "moduleNameMapper": { - "^.+.(css|styl|less|sass|scss|png|jpg|ttf|otf|woff|woff2)$": "jest-transform-stub" - }, - "modulePathIgnorePatterns": [ - "/lib/typescript", - "setup.(ts|tsx)$" - ], - "setupFilesAfterEnv": [ - "/../../node_modules/react-native-gesture-handler/jestSetup.js", - "/jestSetup.mjs" - ], - "preset": "react-native", - "transformIgnorePatterns": [ - "node_modules/(?!(@react-native|react-native|react-native.*|@?react-navigation.*)/)" - ] -}; \ No newline at end of file diff --git a/apps/paper/jestEnv.mjs b/apps/paper/jestEnv.mjs deleted file mode 100644 index 391677e97d..0000000000 --- a/apps/paper/jestEnv.mjs +++ /dev/null @@ -1,13 +0,0 @@ -/* eslint-disable import/no-default-export */ -/* eslint-disable import/no-extraneous-dependencies */ -import CanvasKitInit from "canvaskit-wasm/bin/full/canvaskit"; -import { TestEnvironment } from "jest-environment-node"; - -const CanvasKit = await CanvasKitInit({}); - -export default class SkiaEnvironment extends TestEnvironment { - constructor(...args) { - super(...args); - this.global.CanvasKit = CanvasKit; - } -} diff --git a/yarn.lock b/yarn.lock index 6f6497aeca..bedcec1217 100644 --- a/yarn.lock +++ b/yarn.lock @@ -303,6 +303,20 @@ __metadata: languageName: node linkType: hard +"@babel/eslint-parser@npm:^7.20.0": + version: 7.25.9 + resolution: "@babel/eslint-parser@npm:7.25.9" + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals": 5.1.1-v1 + eslint-visitor-keys: ^2.1.0 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + checksum: dd2afa122b62a5b07c1e71d1c23b2cd4d655d96609eb2ba1b1ae3ec6f415f4365b77d6669ff859aa7b75952fb63a1d29c5db6e5811fc4012841491cb2dee36e4 + languageName: node + linkType: hard + "@babel/generator@npm:^7.12.5, @babel/generator@npm:^7.18.7, @babel/generator@npm:^7.20.0, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6, @babel/generator@npm:^7.7.2": version: 7.25.6 resolution: "@babel/generator@npm:7.25.6" @@ -1904,6 +1918,61 @@ __metadata: languageName: node linkType: hard +"@callstack/react-native-visionos@npm:^0.75.0": + version: 0.75.0 + resolution: "@callstack/react-native-visionos@npm:0.75.0" + dependencies: + "@jest/create-cache-key-function": ^29.6.3 + "@react-native-community/cli": 14.0.0 + "@react-native-community/cli-platform-android": 14.0.0 + "@react-native-community/cli-platform-apple": 14.0.0 + "@react-native-community/cli-platform-ios": 14.0.0 + "@react-native/assets-registry": 0.75.2 + "@react-native/codegen": 0.75.2 + "@react-native/community-cli-plugin": 0.75.2 + "@react-native/gradle-plugin": 0.75.2 + "@react-native/js-polyfills": 0.75.2 + "@react-native/normalize-colors": 0.75.2 + "@react-native/virtualized-lists": 0.75.2 + abort-controller: ^3.0.0 + anser: ^1.4.9 + ansi-regex: ^5.0.0 + base64-js: ^1.5.1 + chalk: ^4.0.0 + event-target-shim: ^5.0.1 + flow-enums-runtime: ^0.0.6 + glob: ^7.1.1 + invariant: ^2.2.4 + jest-environment-node: ^29.6.3 + jsc-android: ^250231.0.0 + memoize-one: ^5.0.0 + metro-runtime: ^0.80.3 + metro-source-map: ^0.80.3 + mkdirp: ^0.5.1 + nullthrows: ^1.1.1 + pretty-format: ^26.5.2 + promise: ^8.3.0 + react-devtools-core: ^5.3.1 + react-refresh: ^0.14.0 + regenerator-runtime: ^0.13.2 + scheduler: 0.24.0-canary-efb381bbf-20230505 + semver: ^7.1.3 + stacktrace-parser: ^0.1.10 + whatwg-fetch: ^3.0.0 + ws: ^6.2.2 + yargs: ^17.6.2 + peerDependencies: + "@types/react": ^18.2.6 + react: ^18.2.0 + peerDependenciesMeta: + "@types/react": + optional: true + bin: + react-native: cli.js + checksum: 13cb796de7abaf6dd929078b517f9aae0176a3229d46038a088228300655c59922fae686ba807d3595d95ed1faf3207eba33de4444aea701d6c4ad1babaca856 + languageName: node + linkType: hard + "@colors/colors@npm:1.5.0": version: 1.5.0 resolution: "@colors/colors@npm:1.5.0" @@ -2499,6 +2568,13 @@ __metadata: languageName: node linkType: hard +"@eslint-community/regexpp@npm:^4.10.0": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 0d628680e204bc316d545b4993d3658427ca404ae646ce541fcc65306b8c712c340e5e573e30fb9f85f4855c0c5f6dca9868931f2fcced06417fbe1a0c6cd2d6 + languageName: node + linkType: hard + "@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": version: 4.11.0 resolution: "@eslint-community/regexpp@npm:4.11.0" @@ -3526,6 +3602,18 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-clean@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-clean@npm:14.1.0" + dependencies: + "@react-native-community/cli-tools": 14.1.0 + chalk: ^4.1.2 + execa: ^5.0.0 + fast-glob: ^3.3.2 + checksum: 495c354a2d4c90e6a7a8b02214454f567a070529a24c4e6d5be1648492ca743b1fa223756aa1f255866150b0043cbb28a132bf48c53d1d00250bd1dc43642208 + languageName: node + linkType: hard + "@react-native-community/cli-config@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-config@npm:14.0.0" @@ -3540,6 +3628,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-config@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-config@npm:14.1.0" + dependencies: + "@react-native-community/cli-tools": 14.1.0 + chalk: ^4.1.2 + cosmiconfig: ^9.0.0 + deepmerge: ^4.3.0 + fast-glob: ^3.3.2 + joi: ^17.2.1 + checksum: f41b629a0617ec79dc585a1974d2989e607f1022103b09ed1ba95a07a6a299dd41f32a0b224a3afc81046c32d17de696c8039063db4567369fe6a9bfa7ae4cd8 + languageName: node + linkType: hard + "@react-native-community/cli-debugger-ui@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-debugger-ui@npm:14.0.0" @@ -3558,6 +3660,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-debugger-ui@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-debugger-ui@npm:14.1.0" + dependencies: + serve-static: ^1.13.1 + checksum: 410fb5e57cbd58a7deb81ab4f83ae882a1b2b42729a5f9db5837b6a32edf35aae06f0293ef5ada49c2e51da193da9e21132cd54c213130975e57c8c53ee5042f + languageName: node + linkType: hard + "@react-native-community/cli-doctor@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-doctor@npm:14.0.0" @@ -3582,6 +3693,30 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-doctor@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-doctor@npm:14.1.0" + dependencies: + "@react-native-community/cli-config": 14.1.0 + "@react-native-community/cli-platform-android": 14.1.0 + "@react-native-community/cli-platform-apple": 14.1.0 + "@react-native-community/cli-platform-ios": 14.1.0 + "@react-native-community/cli-tools": 14.1.0 + chalk: ^4.1.2 + command-exists: ^1.2.8 + deepmerge: ^4.3.0 + envinfo: ^7.13.0 + execa: ^5.0.0 + node-stream-zip: ^1.9.1 + ora: ^5.4.1 + semver: ^7.5.2 + strip-ansi: ^5.2.0 + wcwidth: ^1.0.1 + yaml: ^2.2.1 + checksum: 2e47b306db5bc6a27e15e00b0d4123e69a5c7561e69d39688e98a74349a9aa6aa84737be7988e69bfe5e3c4caf8f697d3c788a65a29b352907aba9a90cdb349b + languageName: node + linkType: hard + "@react-native-community/cli-platform-android@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-platform-android@npm:14.0.0" @@ -3596,6 +3731,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-android@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-platform-android@npm:14.1.0" + dependencies: + "@react-native-community/cli-tools": 14.1.0 + chalk: ^4.1.2 + execa: ^5.0.0 + fast-glob: ^3.3.2 + fast-xml-parser: ^4.4.1 + logkitty: ^0.7.1 + checksum: 4c240321344757cbd660174d44bc1dea81265369353dc50a703c93eb1692c2eb6f33839901b640fd4a609416d36c26ca2341f44c5f417751d2cc45833a58b012 + languageName: node + linkType: hard + "@react-native-community/cli-platform-apple@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-platform-apple@npm:14.0.0" @@ -3610,6 +3759,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-apple@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-platform-apple@npm:14.1.0" + dependencies: + "@react-native-community/cli-tools": 14.1.0 + chalk: ^4.1.2 + execa: ^5.0.0 + fast-glob: ^3.3.2 + fast-xml-parser: ^4.4.1 + ora: ^5.4.1 + checksum: f9ea2520880511f0f914a4a8e9ba7be33058461ff75188e96578f2b8706231b355905b251f362a75ed2270082635809f13055e0bea01c4b57448c0ea43a05a31 + languageName: node + linkType: hard + "@react-native-community/cli-platform-ios@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-platform-ios@npm:14.0.0" @@ -3619,6 +3782,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-ios@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-platform-ios@npm:14.1.0" + dependencies: + "@react-native-community/cli-platform-apple": 14.1.0 + checksum: 17033ed819bf9701359117341b2650616161d078cabd8d87e7c1c1fc4f9333c2d087894ed893e0719b71cd5e2a34f76b01ba0e7edfb273cd8c6a5249e50429bd + languageName: node + linkType: hard + "@react-native-community/cli-server-api@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-server-api@npm:14.0.0" @@ -3653,6 +3825,23 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-server-api@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-server-api@npm:14.1.0" + dependencies: + "@react-native-community/cli-debugger-ui": 14.1.0 + "@react-native-community/cli-tools": 14.1.0 + compression: ^1.7.1 + connect: ^3.6.5 + errorhandler: ^1.5.1 + nocache: ^3.0.1 + pretty-format: ^26.6.2 + serve-static: ^1.13.1 + ws: ^6.2.3 + checksum: c165ba799ccfb0ee6c38f3b9aa0c341733310400f3c9689578078b94ddded9d33c06144719732445ce7da9f27eaf120d9d04258d307475a24576d7a5b2b3847c + languageName: node + linkType: hard + "@react-native-community/cli-tools@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-tools@npm:14.0.0" @@ -3689,6 +3878,24 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-tools@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-tools@npm:14.1.0" + dependencies: + appdirsjs: ^1.2.4 + chalk: ^4.1.2 + execa: ^5.0.0 + find-up: ^5.0.0 + mime: ^2.4.1 + open: ^6.2.0 + ora: ^5.4.1 + semver: ^7.5.2 + shell-quote: ^1.7.3 + sudo-prompt: ^9.0.0 + checksum: 90b163e67c7d5a1d06b25d662ba678447acf26cd0f6c7bef265d40dcd9684d1e14ec0c21447c9dfb2f09083d4b5c429dd008de7df966075efa79220149d2da54 + languageName: node + linkType: hard + "@react-native-community/cli-types@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli-types@npm:14.0.0" @@ -3698,6 +3905,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-types@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-types@npm:14.1.0" + dependencies: + joi: ^17.2.1 + checksum: c721d256a1e90fa3f8353cb0b9d37688aad080e2de44ad6b69516dd591c9f4089d214c43e85b5be0aff0d8b08595af4727a13ddd1c88492f5d3acc57bc22ce8f + languageName: node + linkType: hard + "@react-native-community/cli@npm:14.0.0": version: 14.0.0 resolution: "@react-native-community/cli@npm:14.0.0" @@ -3724,6 +3940,32 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli@npm:14.1.0" + dependencies: + "@react-native-community/cli-clean": 14.1.0 + "@react-native-community/cli-config": 14.1.0 + "@react-native-community/cli-debugger-ui": 14.1.0 + "@react-native-community/cli-doctor": 14.1.0 + "@react-native-community/cli-server-api": 14.1.0 + "@react-native-community/cli-tools": 14.1.0 + "@react-native-community/cli-types": 14.1.0 + chalk: ^4.1.2 + commander: ^9.4.1 + deepmerge: ^4.3.0 + execa: ^5.0.0 + find-up: ^5.0.0 + fs-extra: ^8.1.0 + graceful-fs: ^4.1.3 + prompts: ^2.4.2 + semver: ^7.5.2 + bin: + rnc-cli: build/bin.js + checksum: 57c412cd3da1ef2312e9e314352cde0e783a5efcac7821798d5d69a390168837240b87b486538aab31a4d7e7e6d41bd31c487878a5485503289e89e15f468bbf + languageName: node + linkType: hard + "@react-native-community/eslint-config@npm:3.2.0": version: 3.2.0 resolution: "@react-native-community/eslint-config@npm:3.2.0" @@ -3762,6 +4004,23 @@ __metadata: languageName: node linkType: hard +"@react-native-mac/virtualized-lists@npm:0.75.0": + version: 0.75.0 + resolution: "@react-native-mac/virtualized-lists@npm:0.75.0" + dependencies: + invariant: ^2.2.4 + nullthrows: ^1.1.1 + peerDependencies: + "@types/react": ^18.2.6 + react: "*" + react-native: "*" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 69431eecfab184258723dfad1d7ed5e2f1c2e6b250198264239a90df9fb8c163c6fcff23a5183e7e9ff2abf903efc8964dc1b0c625b3a043049418c9448be612 + languageName: node + linkType: hard + "@react-native/assets-registry@npm:0.75.2": version: 0.75.2 resolution: "@react-native/assets-registry@npm:0.75.2" @@ -3769,6 +4028,13 @@ __metadata: languageName: node linkType: hard +"@react-native/assets-registry@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/assets-registry@npm:0.75.4" + checksum: bf30525b83aa17423144ac100c649ad9c1b2f5cd10d3daeda80aa0a3c8097b2be25d5573924acacd6973dd65b64b6ade23dc18b8273ee52960d71037afe2eaf8 + languageName: node + linkType: hard + "@react-native/babel-plugin-codegen@npm:0.75.2": version: 0.75.2 resolution: "@react-native/babel-plugin-codegen@npm:0.75.2" @@ -3778,6 +4044,15 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-plugin-codegen@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/babel-plugin-codegen@npm:0.75.4" + dependencies: + "@react-native/codegen": 0.75.4 + checksum: eb3c7592e4627929494370de6e8a290217b5fc561ab6afe86f33fd16f9074539866822c68755ae06f67bf7b5eed2806d231305db4a7b83b19dd93c74b35ca41f + languageName: node + linkType: hard + "@react-native/babel-preset@npm:0.75.2": version: 0.75.2 resolution: "@react-native/babel-preset@npm:0.75.2" @@ -3833,6 +4108,61 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-preset@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/babel-preset@npm:0.75.4" + dependencies: + "@babel/core": ^7.20.0 + "@babel/plugin-proposal-export-default-from": ^7.0.0 + "@babel/plugin-syntax-dynamic-import": ^7.8.0 + "@babel/plugin-syntax-export-default-from": ^7.0.0 + "@babel/plugin-syntax-flow": ^7.18.0 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.0.0 + "@babel/plugin-syntax-optional-chaining": ^7.0.0 + "@babel/plugin-transform-arrow-functions": ^7.0.0 + "@babel/plugin-transform-async-generator-functions": ^7.24.3 + "@babel/plugin-transform-async-to-generator": ^7.20.0 + "@babel/plugin-transform-block-scoping": ^7.0.0 + "@babel/plugin-transform-class-properties": ^7.24.1 + "@babel/plugin-transform-classes": ^7.0.0 + "@babel/plugin-transform-computed-properties": ^7.0.0 + "@babel/plugin-transform-destructuring": ^7.20.0 + "@babel/plugin-transform-flow-strip-types": ^7.20.0 + "@babel/plugin-transform-for-of": ^7.0.0 + "@babel/plugin-transform-function-name": ^7.0.0 + "@babel/plugin-transform-literals": ^7.0.0 + "@babel/plugin-transform-logical-assignment-operators": ^7.24.1 + "@babel/plugin-transform-modules-commonjs": ^7.0.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.0.0 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.24.1 + "@babel/plugin-transform-numeric-separator": ^7.24.1 + "@babel/plugin-transform-object-rest-spread": ^7.24.5 + "@babel/plugin-transform-optional-catch-binding": ^7.24.1 + "@babel/plugin-transform-optional-chaining": ^7.24.5 + "@babel/plugin-transform-parameters": ^7.0.0 + "@babel/plugin-transform-private-methods": ^7.22.5 + "@babel/plugin-transform-private-property-in-object": ^7.22.11 + "@babel/plugin-transform-react-display-name": ^7.0.0 + "@babel/plugin-transform-react-jsx": ^7.0.0 + "@babel/plugin-transform-react-jsx-self": ^7.0.0 + "@babel/plugin-transform-react-jsx-source": ^7.0.0 + "@babel/plugin-transform-regenerator": ^7.20.0 + "@babel/plugin-transform-runtime": ^7.0.0 + "@babel/plugin-transform-shorthand-properties": ^7.0.0 + "@babel/plugin-transform-spread": ^7.0.0 + "@babel/plugin-transform-sticky-regex": ^7.0.0 + "@babel/plugin-transform-typescript": ^7.5.0 + "@babel/plugin-transform-unicode-regex": ^7.0.0 + "@babel/template": ^7.0.0 + "@react-native/babel-plugin-codegen": 0.75.4 + babel-plugin-transform-flow-enums: ^0.0.2 + react-refresh: ^0.14.0 + peerDependencies: + "@babel/core": "*" + checksum: 89b251e8f9ee0a5528a165f99d9ab6babfacd498f5cc693fd427f72d5eb1769b240b2ddd318409b548d7977c2f56028b8d4ad87dc71662404dc7c60eb86aa3df + languageName: node + linkType: hard + "@react-native/codegen@npm:0.75.2": version: 0.75.2 resolution: "@react-native/codegen@npm:0.75.2" @@ -3851,6 +4181,24 @@ __metadata: languageName: node linkType: hard +"@react-native/codegen@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/codegen@npm:0.75.4" + dependencies: + "@babel/parser": ^7.20.0 + glob: ^7.1.1 + hermes-parser: 0.22.0 + invariant: ^2.2.4 + jscodeshift: ^0.14.0 + mkdirp: ^0.5.1 + nullthrows: ^1.1.1 + yargs: ^17.6.2 + peerDependencies: + "@babel/preset-env": ^7.1.6 + checksum: ecbdac43ce62c60362c7ad727a6d568d088148e12d71c36a5f2ce7c0c19601b73d713b69d6999f10ecb0f92d52a74d28650dac06791d69dbb98823bea709873c + languageName: node + linkType: hard + "@react-native/community-cli-plugin@npm:0.75.2": version: 0.75.2 resolution: "@react-native/community-cli-plugin@npm:0.75.2" @@ -3871,6 +4219,25 @@ __metadata: languageName: node linkType: hard +"@react-native/community-cli-plugin@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/community-cli-plugin@npm:0.75.4" + dependencies: + "@react-native-community/cli-server-api": 14.1.0 + "@react-native-community/cli-tools": 14.1.0 + "@react-native/dev-middleware": 0.75.4 + "@react-native/metro-babel-transformer": 0.75.4 + chalk: ^4.0.0 + execa: ^5.1.1 + metro: ^0.80.3 + metro-config: ^0.80.3 + metro-core: ^0.80.3 + node-fetch: ^2.2.0 + readline: ^1.3.0 + checksum: ac3f574fe39cf31450a3d0ee8ddc703894d2f91eaf2d2f0116e41eabfea73c8ec2bbfcaa49af9549a61af879f714abc91b348267ef16a8bddc3de59b6d906b03 + languageName: node + linkType: hard + "@react-native/debugger-frontend@npm:0.75.2": version: 0.75.2 resolution: "@react-native/debugger-frontend@npm:0.75.2" @@ -3878,6 +4245,13 @@ __metadata: languageName: node linkType: hard +"@react-native/debugger-frontend@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/debugger-frontend@npm:0.75.4" + checksum: b99bf4ddbda9b88dc974cc418483dfb9bb2887525df6fe9fa9abb894b0304bcf061781d86a8bc52505c5b0c60966704c4e8a1c4f4b2e6f1f47be8c28b3158d9b + languageName: node + linkType: hard + "@react-native/dev-middleware@npm:0.75.2": version: 0.75.2 resolution: "@react-native/dev-middleware@npm:0.75.2" @@ -3898,6 +4272,56 @@ __metadata: languageName: node linkType: hard +"@react-native/dev-middleware@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/dev-middleware@npm:0.75.4" + dependencies: + "@isaacs/ttlcache": ^1.4.1 + "@react-native/debugger-frontend": 0.75.4 + chrome-launcher: ^0.15.2 + chromium-edge-launcher: ^0.2.0 + connect: ^3.6.5 + debug: ^2.2.0 + node-fetch: ^2.2.0 + nullthrows: ^1.1.1 + open: ^7.0.3 + selfsigned: ^2.4.1 + serve-static: ^1.13.1 + ws: ^6.2.2 + checksum: 3f5001cde0081f46b011002303eed4d840eb9e05c2e39225ad8a4f70927e659ff567351dc8631128cf2ed6b57c6dbdf78c88494452db83e068bc9f986aa4c03e + languageName: node + linkType: hard + +"@react-native/eslint-config@npm:0.75.2": + version: 0.75.2 + resolution: "@react-native/eslint-config@npm:0.75.2" + dependencies: + "@babel/core": ^7.20.0 + "@babel/eslint-parser": ^7.20.0 + "@react-native/eslint-plugin": 0.75.2 + "@typescript-eslint/eslint-plugin": ^7.1.1 + "@typescript-eslint/parser": ^7.1.1 + eslint-config-prettier: ^8.5.0 + eslint-plugin-eslint-comments: ^3.2.0 + eslint-plugin-ft-flow: ^2.0.1 + eslint-plugin-jest: ^27.9.0 + eslint-plugin-react: ^7.30.1 + eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-react-native: ^4.0.0 + peerDependencies: + eslint: ">=8" + prettier: ">=2" + checksum: d0638dde2f7e87bdb0c3ab1acff3185666a1009dd282920ea11ad801cd1eac4be9946ef2a5a0c4670e5d456576aee86b9478d98778f57ba835549460eabb2dad + languageName: node + linkType: hard + +"@react-native/eslint-plugin@npm:0.75.2": + version: 0.75.2 + resolution: "@react-native/eslint-plugin@npm:0.75.2" + checksum: 109827dd3a59b2b07d15c6d6fdaa7c02fe1cba1a8b3bf54cc0f6f561f3f19400faa39068ecd4eb16255c833e6b6681af22f5b49191b0c297e4092f538d1027c6 + languageName: node + linkType: hard + "@react-native/gradle-plugin@npm:0.75.2": version: 0.75.2 resolution: "@react-native/gradle-plugin@npm:0.75.2" @@ -3905,6 +4329,13 @@ __metadata: languageName: node linkType: hard +"@react-native/gradle-plugin@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/gradle-plugin@npm:0.75.4" + checksum: ec3c39e08963ccff3ca4557ca94fff44b8242e5267b9d6226fde17a9df2a9d87e4c343893c7e6f5e4db48a1e61b8f77161a9175d5f9f371c0260f0fc29aa148d + languageName: node + linkType: hard + "@react-native/js-polyfills@npm:0.75.2": version: 0.75.2 resolution: "@react-native/js-polyfills@npm:0.75.2" @@ -3912,6 +4343,13 @@ __metadata: languageName: node linkType: hard +"@react-native/js-polyfills@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/js-polyfills@npm:0.75.4" + checksum: 0634b2dc5f4d8fde84aef7e19bb497eae83c9ce9c70a2233ebcddc308ae605ba96ad03f2c7e70c9f14db89714376fd79a6fc2b44058276969c62338cfd3d5b98 + languageName: node + linkType: hard + "@react-native/metro-babel-transformer@npm:0.75.2": version: 0.75.2 resolution: "@react-native/metro-babel-transformer@npm:0.75.2" @@ -3926,6 +4364,20 @@ __metadata: languageName: node linkType: hard +"@react-native/metro-babel-transformer@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/metro-babel-transformer@npm:0.75.4" + dependencies: + "@babel/core": ^7.20.0 + "@react-native/babel-preset": 0.75.4 + hermes-parser: 0.22.0 + nullthrows: ^1.1.1 + peerDependencies: + "@babel/core": "*" + checksum: a35c6b16e91ad1be3d2379ce512bdbb83b34a91801ae16d0a7bfc736f15380b0bcc455fbc028575fd4d950f421c0787c0ec99f5d1b2edd2f34485fd5fdb0a318 + languageName: node + linkType: hard + "@react-native/metro-config@npm:0.75.2": version: 0.75.2 resolution: "@react-native/metro-config@npm:0.75.2" @@ -3945,6 +4397,13 @@ __metadata: languageName: node linkType: hard +"@react-native/normalize-colors@npm:0.75.4": + version: 0.75.4 + resolution: "@react-native/normalize-colors@npm:0.75.4" + checksum: d6f916b20b2ba3959e07e107c2bfb175ec3530cf0e611da962ba66a65f2675864881c7c10d5ee6b51cb957cd1a35f7303b4d34a25fde590aa29618f37432447e + languageName: node + linkType: hard + "@react-native/typescript-config@npm:0.75.2": version: 0.75.2 resolution: "@react-native/typescript-config@npm:0.75.2" @@ -4054,6 +4513,61 @@ __metadata: languageName: node linkType: hard +"@rnx-kit/metro-config@npm:^2.0.0": + version: 2.0.1 + resolution: "@rnx-kit/metro-config@npm:2.0.1" + dependencies: + "@rnx-kit/tools-node": ^3.0.0 + "@rnx-kit/tools-react-native": ^2.0.0 + "@rnx-kit/tools-workspaces": ^0.2.0 + peerDependencies: + "@react-native/metro-config": "*" + react: "*" + react-native: "*" + peerDependenciesMeta: + "@react-native/metro-config": + optional: true + checksum: 7645d2709a1b5de75a20e1f91361b7f1de2d3e63dbca459104a19a2cc9f4a64a7109d500823277d9fe1352b976ef869948d1717ef9c7e0ca6917a32840494918 + languageName: node + linkType: hard + +"@rnx-kit/react-native-host@npm:^0.5.0": + version: 0.5.0 + resolution: "@rnx-kit/react-native-host@npm:0.5.0" + peerDependencies: + react-native: ">=0.66" + checksum: 5d8477169dc215b838c1ee47e2f7905e5decc86759a8ab245d9a99ee46cb35794a1442b597653223924288698126a1912e898bdd51dbe9043f296f63f3aeb3f2 + languageName: node + linkType: hard + +"@rnx-kit/tools-node@npm:^3.0.0": + version: 3.0.0 + resolution: "@rnx-kit/tools-node@npm:3.0.0" + checksum: fecf7d94e1d1eed1e06ac9e172591011ed24c8babe435492c8b8cecc1a6ab5c4445630bc14468990345e8e3804ee4a1f4ad59b5ef3ae9dd0827572a5378d642b + languageName: node + linkType: hard + +"@rnx-kit/tools-react-native@npm:^2.0.0": + version: 2.0.0 + resolution: "@rnx-kit/tools-react-native@npm:2.0.0" + dependencies: + "@rnx-kit/tools-node": ^3.0.0 + checksum: e3e5b2351c5cd9806ab20a90384d3f83484ffdc50b292f682e034cf2569ac32b0d32f7011146d27e3ab112ddb1302b54de1f233aee338b1fad2cb24afe97b4d7 + languageName: node + linkType: hard + +"@rnx-kit/tools-workspaces@npm:^0.2.0": + version: 0.2.0 + resolution: "@rnx-kit/tools-workspaces@npm:0.2.0" + dependencies: + fast-glob: ^3.2.7 + find-up: ^5.0.0 + read-yaml-file: ^2.1.0 + strip-json-comments: ^3.1.1 + checksum: a1e6281bd04e06fb3f4a998fb07f7bcd9e9fefb96d4541203af151d6a457e58a51b502422fde553982060849f132f67e1e4c36f40bb605ca5b33a75f9ef027d0 + languageName: node + linkType: hard + "@sec-ant/readable-stream@npm:^0.4.1": version: 0.4.1 resolution: "@sec-ant/readable-stream@npm:0.4.1" @@ -5292,12 +5806,35 @@ __metadata: semver: ^7.3.7 tsutils: ^3.21.0 peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: fc104b389c768f9fa7d45a48c86d5c1ad522c1d0512943e782a56b1e3096b2cbcc1eea3fcc590647bf0658eef61aac35120a9c6daf979bf629ad2956deb516a1 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^7.1.1": + version: 7.18.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" + dependencies: + "@eslint-community/regexpp": ^4.10.0 + "@typescript-eslint/scope-manager": 7.18.0 + "@typescript-eslint/type-utils": 7.18.0 + "@typescript-eslint/utils": 7.18.0 + "@typescript-eslint/visitor-keys": 7.18.0 + graphemer: ^1.4.0 + ignore: ^5.3.1 + natural-compare: ^1.4.0 + ts-api-utils: ^1.3.0 + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: fc104b389c768f9fa7d45a48c86d5c1ad522c1d0512943e782a56b1e3096b2cbcc1eea3fcc590647bf0658eef61aac35120a9c6daf979bf629ad2956deb516a1 + checksum: dfcf150628ca2d4ccdfc20b46b0eae075c2f16ef5e70d9d2f0d746acf4c69a09f962b93befee01a529f14bbeb3e817b5aba287d7dd0edc23396bc5ed1f448c3d languageName: node linkType: hard @@ -5336,6 +5873,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:^7.1.1": + version: 7.18.0 + resolution: "@typescript-eslint/parser@npm:7.18.0" + dependencies: + "@typescript-eslint/scope-manager": 7.18.0 + "@typescript-eslint/types": 7.18.0 + "@typescript-eslint/typescript-estree": 7.18.0 + "@typescript-eslint/visitor-keys": 7.18.0 + debug: ^4.3.4 + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 132b56ac3b2d90b588d61d005a70f6af322860974225b60201cbf45abf7304d67b7d8a6f0ade1c188ac4e339884e78d6dcd450417f1481998f9ddd155bab0801 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/scope-manager@npm:5.62.0" @@ -5356,6 +5911,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/scope-manager@npm:7.18.0" + dependencies: + "@typescript-eslint/types": 7.18.0 + "@typescript-eslint/visitor-keys": 7.18.0 + checksum: b982c6ac13d8c86bb3b949c6b4e465f3f60557c2ccf4cc229799827d462df56b9e4d3eaed7711d79b875422fc3d71ec1ebcb5195db72134d07c619e3c5506b57 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/type-utils@npm:5.62.0" @@ -5390,6 +5955,23 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/type-utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/type-utils@npm:7.18.0" + dependencies: + "@typescript-eslint/typescript-estree": 7.18.0 + "@typescript-eslint/utils": 7.18.0 + debug: ^4.3.4 + ts-api-utils: ^1.3.0 + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 68fd5df5146c1a08cde20d59b4b919acab06a1b06194fe4f7ba1b928674880249890785fbbc97394142f2ef5cff5a7fba9b8a940449e7d5605306505348e38bc + languageName: node + linkType: hard + "@typescript-eslint/types@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/types@npm:5.62.0" @@ -5404,6 +5986,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/types@npm:7.18.0" + checksum: 7df2750cd146a0acd2d843208d69f153b458e024bbe12aab9e441ad2c56f47de3ddfeb329c4d1ea0079e2577fea4b8c1c1ce15315a8d49044586b04fedfe7a4d + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" @@ -5440,6 +6029,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" + dependencies: + "@typescript-eslint/types": 7.18.0 + "@typescript-eslint/visitor-keys": 7.18.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + minimatch: ^9.0.4 + semver: ^7.6.0 + ts-api-utils: ^1.3.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: c82d22ec9654973944f779eb4eb94c52f4a6eafaccce2f0231ff7757313f3a0d0256c3252f6dfe6d43f57171d09656478acb49a629a9d0c193fb959bc3f36116 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.10.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" @@ -5475,6 +6083,20 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/utils@npm:7.18.0" + dependencies: + "@eslint-community/eslint-utils": ^4.4.0 + "@typescript-eslint/scope-manager": 7.18.0 + "@typescript-eslint/types": 7.18.0 + "@typescript-eslint/typescript-estree": 7.18.0 + peerDependencies: + eslint: ^8.56.0 + checksum: 751dbc816dab8454b7dc6b26a56671dbec08e3f4ef94c2661ce1c0fc48fa2d05a64e03efe24cba2c22d03ba943cd3c5c7a5e1b7b03bbb446728aec1c640bd767 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" @@ -5495,6 +6117,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" + dependencies: + "@typescript-eslint/types": 7.18.0 + eslint-visitor-keys: ^3.4.3 + checksum: 6e806a7cdb424c5498ea187a5a11d0fef7e4602a631be413e7d521e5aec1ab46ba00c76cfb18020adaa0a8c9802354a163bfa0deb74baa7d555526c7517bb158 + languageName: node + linkType: hard + "@typescript/twoslash@npm:3.1.0": version: 3.1.0 resolution: "@typescript/twoslash@npm:3.1.0" @@ -7306,7 +7938,7 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^8.0.1": +"cliui@npm:^8.0.0, cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" dependencies: @@ -8515,7 +9147,7 @@ __metadata: react-dom: 18.3.1 react-native: 0.75.2 react-native-gesture-handler: ^2.18.1 - react-native-reanimated: ^3.15.1 + react-native-reanimated: ^3.16.5 twoslash-cli: 1.3.24 typescript: 5.1.6 url-loader: ^4.1.1 @@ -9221,6 +9853,24 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-jest@npm:^27.9.0": + version: 27.9.0 + resolution: "eslint-plugin-jest@npm:27.9.0" + dependencies: + "@typescript-eslint/utils": ^5.10.0 + peerDependencies: + "@typescript-eslint/eslint-plugin": ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: e2a4b415105408de28ad146818fcc6f4e122f6a39c6b2216ec5c24a80393f1390298b20231b0467bc5fd730f6e24b05b89e1a6a3ce651fc159aa4174ecc233d0 + languageName: node + linkType: hard + "eslint-plugin-prettier@npm:^4.2.1": version: 4.2.1 resolution: "eslint-plugin-prettier@npm:4.2.1" @@ -9723,48 +10373,6 @@ __metadata: languageName: node linkType: hard -"fabric@workspace:apps/fabric": - version: 0.0.0-use.local - resolution: "fabric@workspace:apps/fabric" - dependencies: - "@babel/core": ^7.20.0 - "@babel/preset-env": ^7.20.0 - "@babel/runtime": ^7.20.0 - "@react-native-community/slider": ^4.5.2 - "@react-native/babel-preset": 0.75.2 - "@react-native/metro-config": 0.75.2 - "@react-native/typescript-config": 0.75.2 - "@react-navigation/bottom-tabs": ^6.6.1 - "@react-navigation/elements": ^1.3.31 - "@react-navigation/native": ^6.1.17 - "@react-navigation/native-stack": ^6.10.0 - "@shopify/react-native-skia": "workspace:*" - "@testing-library/react-native": ^12.6.1 - "@types/react": ^18.2.6 - "@types/react-test-renderer": ^18.0.0 - babel-jest: ^29.6.3 - babel-plugin-module-resolver: ^5.0.2 - babel-plugin-transform-inline-environment-variables: ^0.4.4 - cdt2d: ^1.0.0 - eslint: 8 - eslint-config-react-native-wcandillon: ^3.10.2 - eslint-plugin-import: 2.27.5 - its-fine: ^1.2.5 - jest: ^29.6.3 - jest-transform-stub: ^2.0.0 - prettier: 2.8.7 - react: 18.3.1 - react-native: 0.75.2 - react-native-gesture-handler: ^2.18.1 - react-native-reanimated: ^3.16.5 - react-native-safe-area-context: ^4.10.9 - react-native-screens: ^4.3.0 - react-native-svg: ^15.6.0 - react-test-renderer: 18.3.1 - typescript: ^5.2.2 - languageName: unknown - linkType: soft - "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -9779,7 +10387,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -9822,6 +10430,17 @@ __metadata: languageName: node linkType: hard +"fast-xml-parser@npm:^4.0.0, fast-xml-parser@npm:^4.4.1": + version: 4.5.0 + resolution: "fast-xml-parser@npm:4.5.0" + dependencies: + strnum: ^1.0.5 + bin: + fxparser: src/cli/cli.js + checksum: 696dc98da46f0f48eb26dfe1640a53043ea64f2420056374e62abbb5e620f092f8df3c3ff3195505a2eefab2057db3bf0ebaac63557f277934f6cce4e7da027c + languageName: node + linkType: hard + "fast-xml-parser@npm:^4.2.4": version: 4.4.1 resolution: "fast-xml-parser@npm:4.4.1" @@ -11343,7 +11962,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.0.5, ignore@npm:^5.2.0, ignore@npm:^5.2.4": +"ignore@npm:^5.0.5, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 2acfd32a573260ea522ea0bfeff880af426d68f6831f973129e2ba7363f422923cf53aab62f8369cbf4667c7b25b6f8a3761b34ecdb284ea18e87a5262a865be @@ -12893,7 +13512,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": +"js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" dependencies: @@ -16852,26 +17471,59 @@ __metadata: languageName: node linkType: hard -"react-native-reanimated@npm:^3.15.1": - version: 3.15.1 - resolution: "react-native-reanimated@npm:3.15.1" +"react-native-macos@npm:^0.75.0": + version: 0.75.16 + resolution: "react-native-macos@npm:0.75.16" dependencies: - "@babel/plugin-transform-arrow-functions": ^7.0.0-0 - "@babel/plugin-transform-class-properties": ^7.0.0-0 - "@babel/plugin-transform-classes": ^7.0.0-0 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.0.0-0 - "@babel/plugin-transform-optional-chaining": ^7.0.0-0 - "@babel/plugin-transform-shorthand-properties": ^7.0.0-0 - "@babel/plugin-transform-template-literals": ^7.0.0-0 - "@babel/plugin-transform-unicode-regex": ^7.0.0-0 - "@babel/preset-typescript": ^7.16.7 - convert-source-map: ^2.0.0 + "@jest/create-cache-key-function": ^29.6.3 + "@react-native-community/cli": 14.1.0 + "@react-native-community/cli-platform-android": 14.1.0 + "@react-native-community/cli-platform-apple": 14.1.0 + "@react-native-community/cli-platform-ios": 14.1.0 + "@react-native-mac/virtualized-lists": 0.75.0 + "@react-native/assets-registry": 0.75.4 + "@react-native/codegen": 0.75.4 + "@react-native/community-cli-plugin": 0.75.4 + "@react-native/gradle-plugin": 0.75.4 + "@react-native/js-polyfills": 0.75.4 + "@react-native/normalize-colors": 0.75.4 + abort-controller: ^3.0.0 + anser: ^1.4.9 + ansi-regex: ^5.0.0 + base64-js: ^1.5.1 + chalk: ^4.0.0 + commander: ^9.4.1 + event-target-shim: ^5.0.1 + flow-enums-runtime: ^0.0.6 + glob: ^7.1.1 invariant: ^2.2.4 + jest-environment-node: ^29.6.3 + jsc-android: ^250231.0.0 + memoize-one: ^5.0.0 + metro-runtime: ^0.80.3 + metro-source-map: ^0.80.3 + mkdirp: ^0.5.1 + nullthrows: ^1.1.1 + pretty-format: ^26.5.2 + promise: ^8.3.0 + react-devtools-core: ^5.3.1 + react-refresh: ^0.14.0 + regenerator-runtime: ^0.13.2 + scheduler: 0.24.0-canary-efb381bbf-20230505 + semver: ^7.1.3 + stacktrace-parser: ^0.1.10 + whatwg-fetch: ^3.0.0 + ws: ^6.2.3 + yargs: ^17.6.2 peerDependencies: - "@babel/core": ^7.0.0-0 - react: "*" - react-native: "*" - checksum: e520ba51a56075a3a0358f966ea6a44b41fa59ed1d0470b9c537dfeb224032066cd197955e18e96af5da22a51ad31c4d8b2422f511d96b8d1dd2ef5fc11a7d1a + "@types/react": ^18.2.6 + react: ^18.2.0 + peerDependenciesMeta: + "@types/react": + optional: true + bin: + react-native: cli.js + checksum: bdc79d33cd0d9da324575fa8b58ccdeb1b08d228bd21344a11287dc1df068a5e8e24e5bf68d4702ca52089ff5f67f77508c7953bf2f1ea8610f0ee453c33157d languageName: node linkType: hard @@ -16908,6 +17560,19 @@ __metadata: languageName: node linkType: hard +"react-native-screens@npm:^3.34.0": + version: 3.35.0 + resolution: "react-native-screens@npm:3.35.0" + dependencies: + react-freeze: ^1.0.0 + warn-once: ^0.1.0 + peerDependencies: + react: "*" + react-native: "*" + checksum: cb8a0c8d8a41a8a1065cc2253e4272a970366a7d80bc54e889b2f48de7ccccd3e828e2701de39c0453a67956ec0cad140fb506324cce04419b5e2eb495c038c2 + languageName: node + linkType: hard + "react-native-screens@npm:^4.3.0": version: 4.3.0 resolution: "react-native-screens@npm:4.3.0" @@ -16921,6 +17586,54 @@ __metadata: languageName: node linkType: hard +"react-native-skia-example@workspace:apps/example": + version: 0.0.0-use.local + resolution: "react-native-skia-example@workspace:apps/example" + dependencies: + "@babel/core": ^7.20.0 + "@babel/preset-env": ^7.20.0 + "@babel/runtime": ^7.20.0 + "@callstack/react-native-visionos": ^0.75.0 + "@react-native-community/slider": ^4.5.2 + "@react-native/babel-preset": 0.75.2 + "@react-native/eslint-config": 0.75.2 + "@react-native/metro-config": 0.75.2 + "@react-native/typescript-config": 0.75.2 + "@react-navigation/bottom-tabs": ^6.6.1 + "@react-navigation/elements": ^1.3.31 + "@react-navigation/native": ^6.1.17 + "@react-navigation/native-stack": ^6.10.0 + "@rnx-kit/metro-config": ^2.0.0 + "@shopify/react-native-skia": "workspace:*" + "@testing-library/react-native": ^12.6.1 + "@types/react": ^18.2.6 + "@types/react-test-renderer": ^18.0.0 + babel-jest: ^29.6.3 + babel-plugin-module-resolver: ^5.0.2 + babel-plugin-transform-inline-environment-variables: ^0.4.4 + cdt2d: ^1.0.0 + eslint: 8 + eslint-config-react-native-wcandillon: ^3.10.2 + eslint-plugin-import: 2.27.5 + its-fine: ^1.2.5 + jest: ^29.6.3 + jest-transform-stub: ^2.0.0 + prettier: 2.8.7 + react: 18.3.1 + react-native: 0.75.2 + react-native-gesture-handler: ^2.18.1 + react-native-macos: ^0.75.0 + react-native-reanimated: ^3.16.5 + react-native-safe-area-context: ^4.10.9 + react-native-screens: ^3.34.0 + react-native-svg: ^15.6.0 + react-native-test-app: ^4.0.2 + react-native-wgpu: 0.1.19 + react-test-renderer: 18.3.1 + typescript: 5.0.4 + languageName: unknown + linkType: soft + "react-native-skia-monorepo@workspace:.": version: 0.0.0-use.local resolution: "react-native-skia-monorepo@workspace:." @@ -16957,6 +17670,43 @@ __metadata: languageName: node linkType: hard +"react-native-test-app@npm:^4.0.2": + version: 4.0.2 + resolution: "react-native-test-app@npm:4.0.2" + dependencies: + "@rnx-kit/react-native-host": ^0.5.0 + "@rnx-kit/tools-react-native": ^2.0.0 + ajv: ^8.0.0 + cliui: ^8.0.0 + fast-xml-parser: ^4.0.0 + prompts: ^2.4.0 + semver: ^7.3.5 + uuid: ^10.0.0 + peerDependencies: + "@callstack/react-native-visionos": 0.73 - 0.76 + "@expo/config-plugins": ">=5.0" + react: 18.1 - 19.0 + react-native: 0.70 - 0.76 || >=0.77.0-0 <0.77.0 + react-native-macos: ^0.0.0-0 || 0.71 - 0.76 + react-native-windows: ^0.0.0-0 || 0.70 - 0.76 + peerDependenciesMeta: + "@callstack/react-native-visionos": + optional: true + "@expo/config-plugins": + optional: true + react-native-macos: + optional: true + react-native-windows: + optional: true + bin: + configure-test-app: scripts/configure.mjs + init: scripts/init.mjs + init-test-app: scripts/init.mjs + install-windows-test-app: windows/test-app.mjs + checksum: 28bffefe0bf4d7a15a3df8a853d86bc5f96b1edfe5167c654f6e1b0b0859cdc49d39db6b1bb5ed962c7a1e0726f87822decce584ca49d46683b14ba8e4ef490a + languageName: node + linkType: hard + "react-native-wgpu@npm:0.1.19": version: 0.1.19 resolution: "react-native-wgpu@npm:0.1.19" @@ -17188,6 +17938,16 @@ __metadata: languageName: node linkType: hard +"read-yaml-file@npm:^2.1.0": + version: 2.1.0 + resolution: "read-yaml-file@npm:2.1.0" + dependencies: + js-yaml: ^4.0.0 + strip-bom: ^4.0.0 + checksum: 52765eb183e79466f51eebeb19b933cc0f0e907052d062d67300b97e79910064a24b370cdb0b5dd8b05afff3d0ec57282670fd9070dc608e13b11820ac79183d + languageName: node + linkType: hard + "read@npm:^3.0.1": version: 3.0.1 resolution: "read@npm:3.0.1" @@ -19530,6 +20290,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.3.0": + version: 1.4.0 + resolution: "ts-api-utils@npm:1.4.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: 477601317dc8a6d961788663ee76984005ed20c70689bd6f807eed2cad258d3731edcc4162d438ce04782ca62a05373ba51e484180fc2a081d8dab2bf693a5af + languageName: node + linkType: hard + "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" @@ -19912,6 +20681,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:5.0.4": + version: 5.0.4 + resolution: "typescript@npm:5.0.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 82b94da3f4604a8946da585f7d6c3025fff8410779e5bde2855ab130d05e4fd08938b9e593b6ebed165bda6ad9292b230984f10952cf82f0a0ca07bbeaa08172 + languageName: node + linkType: hard + "typescript@npm:5.1.6": version: 5.1.6 resolution: "typescript@npm:5.1.6" @@ -19942,6 +20721,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@5.0.4#~builtin": + version: 5.0.4 + resolution: "typescript@patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=b5f058" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: d26b6ba97b6d163c55dbdffd9bbb4c211667ebebc743accfeb2c8c0154aace7afd097b51165a72a5bad2cf65a4612259344ff60f8e642362aa1695c760d303ac + languageName: node + linkType: hard + "typescript@patch:typescript@5.1.6#~builtin": version: 5.1.6 resolution: "typescript@patch:typescript@npm%3A5.1.6#~builtin::version=5.1.6&hash=5da071" @@ -20451,6 +21240,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^10.0.0": + version: 10.0.0 + resolution: "uuid@npm:10.0.0" + bin: + uuid: dist/bin/uuid + checksum: 4b81611ade2885d2313ddd8dc865d93d8dccc13ddf901745edca8f86d99bc46d7a330d678e7532e7ebf93ce616679fb19b2e3568873ac0c14c999032acb25869 + languageName: node + linkType: hard + "uuid@npm:^7.0.3": version: 7.0.3 resolution: "uuid@npm:7.0.3"