From 59b1ec557f55d4295f6dae7506d558eb687d6c9b Mon Sep 17 00:00:00 2001 From: artus9033 Date: Fri, 10 Apr 2026 13:21:13 +0200 Subject: [PATCH 1/7] chore: upgrade RNApp to RN 0.85 --- apps/RNApp/android/app/build.gradle | 4 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- apps/RNApp/android/gradlew | 3 - apps/RNApp/android/gradlew.bat | 2 +- apps/RNApp/ios/RNApp/Info.plist | 7 + apps/RNApp/jest.config.js | 3 + apps/RNApp/package.json | 24 +- yarn.lock | 853 +++++++++++++++--- 8 files changed, 763 insertions(+), 135 deletions(-) create mode 100644 apps/RNApp/jest.config.js diff --git a/apps/RNApp/android/app/build.gradle b/apps/RNApp/android/app/build.gradle index dd79ee05..3d43d51f 100644 --- a/apps/RNApp/android/app/build.gradle +++ b/apps/RNApp/android/app/build.gradle @@ -19,9 +19,9 @@ react { /* 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'. + // skip the bundling of the JS bundle and the assets. Default is "debug", "debugOptimized". // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. - // debuggableVariants = ["liteDebug", "prodDebug"] + // debuggableVariants = ["liteDebug", "liteDebugOptimized", "prodDebug", "prodDebugOptimized"] /* Bundling */ // A list containing the node command and its flags. Default is just 'node'. diff --git a/apps/RNApp/android/gradle/wrapper/gradle-wrapper.properties b/apps/RNApp/android/gradle/wrapper/gradle-wrapper.properties index 2a84e188..37f78a6a 100644 --- a/apps/RNApp/android/gradle/wrapper/gradle-wrapper.properties +++ b/apps/RNApp/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/apps/RNApp/android/gradlew b/apps/RNApp/android/gradlew index ef07e016..adff685a 100755 --- a/apps/RNApp/android/gradlew +++ b/apps/RNApp/android/gradlew @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -172,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/apps/RNApp/android/gradlew.bat b/apps/RNApp/android/gradlew.bat index 11bf1829..c3cf69f6 100644 --- a/apps/RNApp/android/gradlew.bat +++ b/apps/RNApp/android/gradlew.bat @@ -79,7 +79,7 @@ set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/apps/RNApp/ios/RNApp/Info.plist b/apps/RNApp/ios/RNApp/Info.plist index bc5de901..bece6d71 100644 --- a/apps/RNApp/ios/RNApp/Info.plist +++ b/apps/RNApp/ios/RNApp/Info.plist @@ -49,6 +49,13 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIViewControllerBasedStatusBarAppearance diff --git a/apps/RNApp/jest.config.js b/apps/RNApp/jest.config.js new file mode 100644 index 00000000..294be30f --- /dev/null +++ b/apps/RNApp/jest.config.js @@ -0,0 +1,3 @@ +module.exports = { + preset: '@react-native/jest-preset', +}; diff --git a/apps/RNApp/package.json b/apps/RNApp/package.json index a65f4865..9f3d37ef 100644 --- a/apps/RNApp/package.json +++ b/apps/RNApp/package.json @@ -22,8 +22,8 @@ "@callstack/react-native-brownfield": "workspace:^", "@react-navigation/native": "^7.1.33", "@react-navigation/native-stack": "^7.14.5", - "react": "19.1.1", - "react-native": "0.82.1", + "react": "19.2.3", + "react-native": "0.85.0", "react-native-safe-area-context": "^5.6.2", "react-native-screens": "^4.23.0" }, @@ -31,20 +31,22 @@ "@babel/core": "^7.25.2", "@babel/preset-env": "^7.25.3", "@babel/runtime": "^7.25.0", - "@react-native-community/cli": "20.0.0", - "@react-native-community/cli-platform-android": "20.0.0", - "@react-native-community/cli-platform-ios": "20.0.0", - "@react-native/babel-preset": "0.82.1", - "@react-native/metro-config": "0.82.1", - "@react-native/typescript-config": "0.82.1", + "@react-native-community/cli": "20.1.0", + "@react-native-community/cli-platform-android": "20.1.0", + "@react-native-community/cli-platform-ios": "20.1.0", + "@react-native/babel-preset": "0.85.0", + "@react-native/eslint-config": "0.85.0", + "@react-native/jest-preset": "0.85.0", + "@react-native/metro-config": "0.85.0", + "@react-native/typescript-config": "0.85.0", "@types/jest": "^30.0.0", - "@types/react": "^19.1.1", + "@types/react": "^19.2.0", "@types/react-test-renderer": "^19.1.0", "eslint": "^9.39.3", "jest": "^30.2.0", "prettier": "^3.8.1", "react-native-monorepo-config": "^0.3.3", - "react-test-renderer": "19.1.1", + "react-test-renderer": "19.2.3", "typescript": "^5.9.3" }, "brownie": { @@ -52,6 +54,6 @@ "kotlinPackageName": "com.rnapp.brownfieldlib" }, "engines": { - "node": ">=20" + "node": ">= 22.11.0" } } diff --git a/yarn.lock b/yarn.lock index b3ffd770..8a5175d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,7 +60,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4, @babel/core@npm:^7.28.5": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4, @babel/core@npm:^7.28.5": version: 7.29.0 resolution: "@babel/core@npm:7.29.0" dependencies: @@ -334,6 +334,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.24.4": + version: 7.29.2 + resolution: "@babel/parser@npm:7.29.2" + dependencies: + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10/45d050bf75aa5194b3255f156173e8553d615ff5a2434674cc4a10cdc7c261931befb8618c996a1c449b87f0ef32a3407879af2ac967d95dc7b4fdbae7037efa + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": version: 7.28.5 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" @@ -1790,26 +1801,28 @@ __metadata: "@callstack/brownfield-navigation": "workspace:^" "@callstack/brownie": "workspace:^" "@callstack/react-native-brownfield": "workspace:^" - "@react-native-community/cli": "npm:20.0.0" - "@react-native-community/cli-platform-android": "npm:20.0.0" - "@react-native-community/cli-platform-ios": "npm:20.0.0" - "@react-native/babel-preset": "npm:0.82.1" - "@react-native/metro-config": "npm:0.82.1" - "@react-native/typescript-config": "npm:0.82.1" + "@react-native-community/cli": "npm:20.1.0" + "@react-native-community/cli-platform-android": "npm:20.1.0" + "@react-native-community/cli-platform-ios": "npm:20.1.0" + "@react-native/babel-preset": "npm:0.85.0" + "@react-native/eslint-config": "npm:0.85.0" + "@react-native/jest-preset": "npm:0.85.0" + "@react-native/metro-config": "npm:0.85.0" + "@react-native/typescript-config": "npm:0.85.0" "@react-navigation/native": "npm:^7.1.33" "@react-navigation/native-stack": "npm:^7.14.5" "@types/jest": "npm:^30.0.0" - "@types/react": "npm:^19.1.1" + "@types/react": "npm:^19.2.0" "@types/react-test-renderer": "npm:^19.1.0" eslint: "npm:^9.39.3" jest: "npm:^30.2.0" prettier: "npm:^3.8.1" - react: "npm:19.1.1" - react-native: "npm:0.82.1" + react: "npm:19.2.3" + react-native: "npm:0.85.0" react-native-monorepo-config: "npm:^0.3.3" react-native-safe-area-context: "npm:^5.6.2" react-native-screens: "npm:^4.23.0" - react-test-renderer: "npm:19.1.1" + react-test-renderer: "npm:19.2.3" typescript: "npm:^5.9.3" languageName: unknown linkType: soft @@ -4521,27 +4534,27 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-clean@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-clean@npm:20.0.0" +"@react-native-community/cli-clean@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-clean@npm:20.1.0" dependencies: - "@react-native-community/cli-tools": "npm:20.0.0" - chalk: "npm:^4.1.2" + "@react-native-community/cli-tools": "npm:20.1.0" execa: "npm:^5.0.0" fast-glob: "npm:^3.3.2" - checksum: 10/56a261a83eb4fc60e81778659ace53997cc5d045fc09c7e7a3a991eaae60347a7349868bcc5b45db73d3234fc714fe6adbaf641669eddd94cfcfe1037dd616c1 + picocolors: "npm:^1.1.1" + checksum: 10/d929c541e07e8d703c5633bce1a7f2c4ff249f5a5e508b8c11f2fcbf97d5bc27eff706cb36b56973f0405e3592e67bc04f4a7d736956427f129a8c88f9c2cfa5 languageName: node linkType: hard -"@react-native-community/cli-config-android@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-config-android@npm:20.0.0" +"@react-native-community/cli-config-android@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-config-android@npm:20.1.0" dependencies: - "@react-native-community/cli-tools": "npm:20.0.0" - chalk: "npm:^4.1.2" + "@react-native-community/cli-tools": "npm:20.1.0" fast-glob: "npm:^3.3.2" fast-xml-parser: "npm:^4.4.1" - checksum: 10/fbd897df48793b050429e77114b8fcf42364b8847a199873818977cb8102ce303bb3e4fbf1842fd66608d96409e27835111e19e80c670dc6067066e53d4c500f + picocolors: "npm:^1.1.1" + checksum: 10/d14b6c5d172c54a9a4ff7fda8feb91d2f644ca50f2bd1d5109b77d0cfd51c808aca4e6fd957500bb6aaf01bdb7b916ea6028a4658b46b2f8f72ee54bea3dfdd2 languageName: node linkType: hard @@ -4557,15 +4570,15 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-config-apple@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-config-apple@npm:20.0.0" +"@react-native-community/cli-config-apple@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-config-apple@npm:20.1.0" dependencies: - "@react-native-community/cli-tools": "npm:20.0.0" - chalk: "npm:^4.1.2" + "@react-native-community/cli-tools": "npm:20.1.0" execa: "npm:^5.0.0" fast-glob: "npm:^3.3.2" - checksum: 10/7c4e01c894199db48c15265d6d336ece4e103bf23e282e09f08eaa9e03b2237e8dae659e41a2f5fe7f091c9b31f22b3756bdd0f92b8eb6483d279c71b7fc6c99 + picocolors: "npm:^1.1.1" + checksum: 10/5097011bb1831b9eff8d7e1f2964fe265bab3bb7e97ad681985368dc41a853811c474d235ea793edf5e31ad49810744f16bbfff3623e7629ef757eb80858a832 languageName: node linkType: hard @@ -4581,17 +4594,17 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-config@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-config@npm:20.0.0" +"@react-native-community/cli-config@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-config@npm:20.1.0" dependencies: - "@react-native-community/cli-tools": "npm:20.0.0" - chalk: "npm:^4.1.2" + "@react-native-community/cli-tools": "npm:20.1.0" cosmiconfig: "npm:^9.0.0" deepmerge: "npm:^4.3.0" fast-glob: "npm:^3.3.2" joi: "npm:^17.2.1" - checksum: 10/aaf5e5cb07105abe0eb179b2ed230f24546068780cee02986b5d71447f928f5bff0e2fbc84e02302cf60f2795da8fa919eb204da41f9421f2cfaec9dc53c98c7 + picocolors: "npm:^1.1.1" + checksum: 10/8d53c31641527a245be566992c6a13dc6711d8cfee4f65293ba169e0466c45c71af08a36e00dd550edfa74c1207f702293a8f07acd9a09a36320440e5922bb51 languageName: node linkType: hard @@ -4609,69 +4622,69 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-doctor@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-doctor@npm:20.0.0" +"@react-native-community/cli-doctor@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-doctor@npm:20.1.0" dependencies: - "@react-native-community/cli-config": "npm:20.0.0" - "@react-native-community/cli-platform-android": "npm:20.0.0" - "@react-native-community/cli-platform-apple": "npm:20.0.0" - "@react-native-community/cli-platform-ios": "npm:20.0.0" - "@react-native-community/cli-tools": "npm:20.0.0" - chalk: "npm:^4.1.2" + "@react-native-community/cli-config": "npm:20.1.0" + "@react-native-community/cli-platform-android": "npm:20.1.0" + "@react-native-community/cli-platform-apple": "npm:20.1.0" + "@react-native-community/cli-platform-ios": "npm:20.1.0" + "@react-native-community/cli-tools": "npm:20.1.0" command-exists: "npm:^1.2.8" deepmerge: "npm:^4.3.0" envinfo: "npm:^7.13.0" execa: "npm:^5.0.0" node-stream-zip: "npm:^1.9.1" ora: "npm:^5.4.1" + picocolors: "npm:^1.1.1" semver: "npm:^7.5.2" wcwidth: "npm:^1.0.1" yaml: "npm:^2.2.1" - checksum: 10/c78de0b83287c1db03e780123a83c3f26a8883dc54b5b3a1c34e2d3ed1050e39fbf597b95d8899f878b5ef61a89e05493c62d644e84293008eb4da73a4feb2a8 + checksum: 10/65101ca2da9d970245bcb09c4ce19ec9b75d9d8fac3dd3dfd857ed09a4e5336e4d4f10815b1a0e6211dfbfb66ef601a3df614aa20f2a57a869a09b71cd9850d8 languageName: node linkType: hard -"@react-native-community/cli-platform-android@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-platform-android@npm:20.0.0" +"@react-native-community/cli-platform-android@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-platform-android@npm:20.1.0" dependencies: - "@react-native-community/cli-config-android": "npm:20.0.0" - "@react-native-community/cli-tools": "npm:20.0.0" - chalk: "npm:^4.1.2" + "@react-native-community/cli-config-android": "npm:20.1.0" + "@react-native-community/cli-tools": "npm:20.1.0" execa: "npm:^5.0.0" logkitty: "npm:^0.7.1" - checksum: 10/a5b4da7a329e3723d4285f60b18068e78a18451cc948ef79088f1dfbfffc22413a7e94a3c3cc91aee27cf9438bb6b57212b5275e7e5d7af7db41011c4c628f12 + picocolors: "npm:^1.1.1" + checksum: 10/a98faac2a41272041d4643e81cd9950002b555a50bfb53567f72b4ea3e64295a0e5cb79c66fd06f1162a3c367d07114067a446a8849b71c8c4a1f8f0bdf7b199 languageName: node linkType: hard -"@react-native-community/cli-platform-apple@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-platform-apple@npm:20.0.0" +"@react-native-community/cli-platform-apple@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-platform-apple@npm:20.1.0" dependencies: - "@react-native-community/cli-config-apple": "npm:20.0.0" - "@react-native-community/cli-tools": "npm:20.0.0" - chalk: "npm:^4.1.2" + "@react-native-community/cli-config-apple": "npm:20.1.0" + "@react-native-community/cli-tools": "npm:20.1.0" execa: "npm:^5.0.0" fast-xml-parser: "npm:^4.4.1" - checksum: 10/a1a4c0fcdf9e3c819e0804de2447aed230d1f16c36107728374121deda60acd644550c0f5aeb98f6cd25846da9e6358617c67aaf895eab6e9a81cff1030cf8dd + picocolors: "npm:^1.1.1" + checksum: 10/8785ffa90d7c5398c1fa00dad37ad8e11b008bec56d6910b1d7d845e90a5b850da9fa51fd8296e7a604771d2e8623654e898f12c4c473ec027d02fc35e682f3b languageName: node linkType: hard -"@react-native-community/cli-platform-ios@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-platform-ios@npm:20.0.0" +"@react-native-community/cli-platform-ios@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-platform-ios@npm:20.1.0" dependencies: - "@react-native-community/cli-platform-apple": "npm:20.0.0" - checksum: 10/c7fc89332a7cb9fa71c1c5d4fe928d39b0514c74fdcc85251a7a35344f1f5e9e3b4cd23a85a70ce447dded6e6552a5edfa848cf07d8b26127a0c3b05ce3e1768 + "@react-native-community/cli-platform-apple": "npm:20.1.0" + checksum: 10/da425c68bb20ade47f6283eba247d210206ddd651c9f80191c1b6e92ee5978a35b69df7a96c323dad9a0cf4dce7236ab84f34d9a6c51aa1d776d61de48f657eb languageName: node linkType: hard -"@react-native-community/cli-server-api@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-server-api@npm:20.0.0" +"@react-native-community/cli-server-api@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-server-api@npm:20.1.0" dependencies: - "@react-native-community/cli-tools": "npm:20.0.0" + "@react-native-community/cli-tools": "npm:20.1.0" body-parser: "npm:^1.20.3" compression: "npm:^1.7.1" connect: "npm:^3.6.5" @@ -4681,25 +4694,25 @@ __metadata: pretty-format: "npm:^29.7.0" serve-static: "npm:^1.13.1" ws: "npm:^6.2.3" - checksum: 10/1d58c5a4a451c861db13065898f6c825b8c811fb37fa588fc76edede10d4899fd786055137339eda4033335db97630419017b4f843f4f36a1b00b37296710f47 + checksum: 10/cfa0fe00cb459459f254b94a770c85693b544e26f708a0ccf0b13bda76cfe8102a038ad9c81e2cf752b7abd4356c383180bdbb140ac2f9b063fdf53e48c411bf languageName: node linkType: hard -"@react-native-community/cli-tools@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-tools@npm:20.0.0" +"@react-native-community/cli-tools@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-tools@npm:20.1.0" dependencies: "@vscode/sudo-prompt": "npm:^9.0.0" appdirsjs: "npm:^1.2.4" - chalk: "npm:^4.1.2" execa: "npm:^5.0.0" find-up: "npm:^5.0.0" launch-editor: "npm:^2.9.1" mime: "npm:^2.4.1" ora: "npm:^5.4.1" + picocolors: "npm:^1.1.1" prompts: "npm:^2.4.2" semver: "npm:^7.5.2" - checksum: 10/5418844eb46e159d05d6ca4af38e054ffd157ae016576eed4d10bb3bdc345bdb8ca30e3cc5a27aff4a7a49727fd4b1da88f7855469ebbfbbdd042ad58951b764 + checksum: 10/f773a183a078fe2077a14405370840fb16a96b77ce2f0b3789b3383840d425657979f64793f8b38e6e9051106a9fa0cca7d062919479e24b1bd3df1692435578 languageName: node linkType: hard @@ -4721,12 +4734,12 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-types@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli-types@npm:20.0.0" +"@react-native-community/cli-types@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli-types@npm:20.1.0" dependencies: joi: "npm:^17.2.1" - checksum: 10/b64b03ff09eb3952c37ba96544156f0b6ffa76e616361a48254e645f914beaa844943ff77ee1fba46445ef8b45f726109fc9ad249afb9d360602cb03db846368 + checksum: 10/1ae86701a98ac21d0e67f2fcce3859e44c2315c55076aaf82cf80ebf19e91fe95f177208803fddd562f6578549f6ee816356406b5ce106fa0a4e7d30f5aafcdc languageName: node linkType: hard @@ -4739,28 +4752,28 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli@npm:20.0.0": - version: 20.0.0 - resolution: "@react-native-community/cli@npm:20.0.0" - dependencies: - "@react-native-community/cli-clean": "npm:20.0.0" - "@react-native-community/cli-config": "npm:20.0.0" - "@react-native-community/cli-doctor": "npm:20.0.0" - "@react-native-community/cli-server-api": "npm:20.0.0" - "@react-native-community/cli-tools": "npm:20.0.0" - "@react-native-community/cli-types": "npm:20.0.0" - chalk: "npm:^4.1.2" +"@react-native-community/cli@npm:20.1.0": + version: 20.1.0 + resolution: "@react-native-community/cli@npm:20.1.0" + dependencies: + "@react-native-community/cli-clean": "npm:20.1.0" + "@react-native-community/cli-config": "npm:20.1.0" + "@react-native-community/cli-doctor": "npm:20.1.0" + "@react-native-community/cli-server-api": "npm:20.1.0" + "@react-native-community/cli-tools": "npm:20.1.0" + "@react-native-community/cli-types": "npm:20.1.0" commander: "npm:^9.4.1" deepmerge: "npm:^4.3.0" execa: "npm:^5.0.0" find-up: "npm:^5.0.0" fs-extra: "npm:^8.1.0" graceful-fs: "npm:^4.1.3" + picocolors: "npm:^1.1.1" prompts: "npm:^2.4.2" semver: "npm:^7.5.2" bin: rnc-cli: build/bin.js - checksum: 10/9f52dce4f6c25d414ba4549153b70daef7708f5603f88f90147c9ec4dd29118f62995294eb20cb3f7c4018367bda66dac344d25ed0e9ffaad6b62a94b29ba75b + checksum: 10/edd3e93b45b68c3a1f3cd623d350293505a256bdac39e4dc5760c27ca9bc0cc7330e31f95688a8a068fd32edff91a9bf620b2ed8fdb2ee8b53b362c18a022d59 languageName: node linkType: hard @@ -4785,6 +4798,13 @@ __metadata: languageName: node linkType: hard +"@react-native/assets-registry@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/assets-registry@npm:0.85.0" + checksum: 10/1aa1d0b4e5dcfc90e5f71415b41c14560e7a5d9e7a4b1aa84d9cf71aadef4c422d0a535048400ecd8deefea213f6cef23ef8bff2b45e071ea995e0714db662c4 + languageName: node + linkType: hard + "@react-native/babel-plugin-codegen@npm:0.81.5": version: 0.81.5 resolution: "@react-native/babel-plugin-codegen@npm:0.81.5" @@ -4815,6 +4835,16 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-plugin-codegen@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/babel-plugin-codegen@npm:0.85.0" + dependencies: + "@babel/traverse": "npm:^7.29.0" + "@react-native/codegen": "npm:0.85.0" + checksum: 10/339c0457b31d7f33ca559464067aa92498a38b6bff4d3fada133fafa70539e40eff4557abbd174ba5edec61385b4a016cfaf4cd5baaf81be206ca0a074777ecd + languageName: node + linkType: hard + "@react-native/babel-preset@npm:0.81.5": version: 0.81.5 resolution: "@react-native/babel-preset@npm:0.81.5" @@ -4980,6 +5010,49 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-preset@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/babel-preset@npm:0.85.0" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" + "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" + "@babel/plugin-transform-block-scoping": "npm:^7.25.0" + "@babel/plugin-transform-class-properties": "npm:^7.25.4" + "@babel/plugin-transform-classes": "npm:^7.25.4" + "@babel/plugin-transform-destructuring": "npm:^7.24.8" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" + "@babel/plugin-transform-for-of": "npm:^7.24.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" + "@babel/plugin-transform-private-methods": "npm:^7.24.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" + "@babel/plugin-transform-react-display-name": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.2" + "@babel/plugin-transform-react-jsx-self": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx-source": "npm:^7.24.7" + "@babel/plugin-transform-regenerator": "npm:^7.24.7" + "@babel/plugin-transform-runtime": "npm:^7.24.7" + "@babel/plugin-transform-typescript": "npm:^7.25.2" + "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" + "@react-native/babel-plugin-codegen": "npm:0.85.0" + babel-plugin-syntax-hermes-parser: "npm:0.33.3" + babel-plugin-transform-flow-enums: "npm:^0.0.2" + react-refresh: "npm:^0.14.0" + peerDependencies: + "@babel/core": "*" + checksum: 10/7240a55a57e65e0d6896d36273923a02fe1e804f35ddba17acbda6dce164c23b50b382eaa71e01ec2bf620b91820d39e1a62b20010c6db5a954de5899957a997 + languageName: node + linkType: hard + "@react-native/codegen@npm:0.81.5": version: 0.81.5 resolution: "@react-native/codegen@npm:0.81.5" @@ -5031,6 +5104,23 @@ __metadata: languageName: node linkType: hard +"@react-native/codegen@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/codegen@npm:0.85.0" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/parser": "npm:^7.29.0" + hermes-parser: "npm:0.33.3" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + tinyglobby: "npm:^0.2.15" + yargs: "npm:^17.6.2" + peerDependencies: + "@babel/core": "*" + checksum: 10/0f40789be509c1d32b170a3bed9d1ade72d492c2ab4517b0e3daba39a0acdb00d68a2baa3232113e5d8cfb648702cf3e8f2dcc020cbb7c70ed7a3ff38af32d2c + languageName: node + linkType: hard + "@react-native/community-cli-plugin@npm:0.81.5": version: 0.81.5 resolution: "@react-native/community-cli-plugin@npm:0.81.5" @@ -5100,6 +5190,29 @@ __metadata: languageName: node linkType: hard +"@react-native/community-cli-plugin@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/community-cli-plugin@npm:0.85.0" + dependencies: + "@react-native/dev-middleware": "npm:0.85.0" + debug: "npm:^4.4.0" + invariant: "npm:^2.2.4" + metro: "npm:^0.84.0" + metro-config: "npm:^0.84.0" + metro-core: "npm:^0.84.0" + semver: "npm:^7.1.3" + peerDependencies: + "@react-native-community/cli": "*" + "@react-native/metro-config": 0.85.0 + peerDependenciesMeta: + "@react-native-community/cli": + optional: true + "@react-native/metro-config": + optional: true + checksum: 10/06a6495b078df571b5ee62272f5869de419a0b19db98f2bdcc710523c49741f2fb88ab620842206987b8928b48c5234707e53fc7792d907bbbab889a0b639ff9 + languageName: node + linkType: hard + "@react-native/debugger-frontend@npm:0.81.5": version: 0.81.5 resolution: "@react-native/debugger-frontend@npm:0.81.5" @@ -5121,6 +5234,13 @@ __metadata: languageName: node linkType: hard +"@react-native/debugger-frontend@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/debugger-frontend@npm:0.85.0" + checksum: 10/08691010d80c7cba88171c900c75eb46d604a77356f504071bfadf7ce0028ccd71883aa7c44d97ffb0fefc5d0a2f4fb99e895d7edcbf672d00e3048678a5395e + languageName: node + linkType: hard + "@react-native/debugger-shell@npm:0.82.1": version: 0.82.1 resolution: "@react-native/debugger-shell@npm:0.82.1" @@ -5141,6 +5261,17 @@ __metadata: languageName: node linkType: hard +"@react-native/debugger-shell@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/debugger-shell@npm:0.85.0" + dependencies: + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.4.0" + fb-dotslash: "npm:0.5.8" + checksum: 10/3bb4b52f03bf977a6a0a5f792200df38bc77366f822ff7e142dfc59e5a2a0fdc6a1ab4fe7637c65994c1df5a9c4d882f03b83de320e9045a5e5e94aa707f2661 + languageName: node + linkType: hard + "@react-native/dev-middleware@npm:0.81.5": version: 0.81.5 resolution: "@react-native/dev-middleware@npm:0.81.5" @@ -5200,6 +5331,26 @@ __metadata: languageName: node linkType: hard +"@react-native/dev-middleware@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/dev-middleware@npm:0.85.0" + dependencies: + "@isaacs/ttlcache": "npm:^1.4.1" + "@react-native/debugger-frontend": "npm:0.85.0" + "@react-native/debugger-shell": "npm:0.85.0" + chrome-launcher: "npm:^0.15.2" + chromium-edge-launcher: "npm:^0.3.0" + connect: "npm:^3.6.5" + debug: "npm:^4.4.0" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + open: "npm:^7.0.3" + serve-static: "npm:^1.16.2" + ws: "npm:^7.5.10" + checksum: 10/04528379c68d9d5acede6c75759f6c4541653b83697ceb61f86232313ed72f4ffd1edba7a2082a42ff4d2d3a2e2a5deaafe6f7be202cdd21b745257e3e435117 + languageName: node + linkType: hard + "@react-native/eslint-config@npm:0.82.1": version: 0.82.1 resolution: "@react-native/eslint-config@npm:0.82.1" @@ -5223,6 +5374,29 @@ __metadata: languageName: node linkType: hard +"@react-native/eslint-config@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/eslint-config@npm:0.85.0" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/eslint-parser": "npm:^7.25.1" + "@react-native/eslint-plugin": "npm:0.85.0" + "@typescript-eslint/eslint-plugin": "npm:^8.36.0" + "@typescript-eslint/parser": "npm:^8.36.0" + eslint-config-prettier: "npm:^8.5.0" + eslint-plugin-eslint-comments: "npm:^3.2.0" + eslint-plugin-ft-flow: "npm:^2.0.1" + eslint-plugin-jest: "npm:^29.0.1" + eslint-plugin-react: "npm:^7.37.5" + eslint-plugin-react-hooks: "npm:^7.0.1" + eslint-plugin-react-native: "npm:^5.0.0" + peerDependencies: + eslint: ^8.0.0 || ^9.0.0 + prettier: ">=2" + checksum: 10/4965bd7fcc34fc470ad8cb92a94568612f59efbc515ab4225ba3f5751f74ace84cdb7f7322349ba7546f6a448c3daebd252c065f7e9de6fe54dae7c056253883 + languageName: node + linkType: hard + "@react-native/eslint-plugin@npm:0.82.1": version: 0.82.1 resolution: "@react-native/eslint-plugin@npm:0.82.1" @@ -5230,6 +5404,13 @@ __metadata: languageName: node linkType: hard +"@react-native/eslint-plugin@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/eslint-plugin@npm:0.85.0" + checksum: 10/303dc290a410ffb17b6cf0db272cefd9888e99e4467693215b4ab7a82ee099b31ef7b025da352956a227a04630baffe3beb340a1d03e14b7979c244441f334c8 + languageName: node + linkType: hard + "@react-native/gradle-plugin@npm:0.81.5": version: 0.81.5 resolution: "@react-native/gradle-plugin@npm:0.81.5" @@ -5251,6 +5432,28 @@ __metadata: languageName: node linkType: hard +"@react-native/gradle-plugin@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/gradle-plugin@npm:0.85.0" + checksum: 10/17879f55468445845256138b4658fdb38fad7c1ea2d7838d1f8af88dd240594573915bba77bcbf40b033d6299c67a9bcef912dcf2d81eca21a344bf12e616763 + languageName: node + linkType: hard + +"@react-native/jest-preset@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/jest-preset@npm:0.85.0" + dependencies: + "@jest/create-cache-key-function": "npm:^29.7.0" + "@react-native/js-polyfills": "npm:0.85.0" + babel-jest: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + regenerator-runtime: "npm:^0.13.2" + peerDependencies: + react: ^19.2.3 + checksum: 10/f9cfb6245c55366fdc03dc2c32965c1409a183ea680c3d5b4a12b0c6ffe8d07c3f9acd287c9529537eb454d6e1f2e4b804d4677ddb42f0e34d4364baf322872c + languageName: node + linkType: hard + "@react-native/js-polyfills@npm:0.81.5": version: 0.81.5 resolution: "@react-native/js-polyfills@npm:0.81.5" @@ -5272,29 +5475,36 @@ __metadata: languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.82.1": - version: 0.82.1 - resolution: "@react-native/metro-babel-transformer@npm:0.82.1" +"@react-native/js-polyfills@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/js-polyfills@npm:0.85.0" + checksum: 10/89fc6affadcb665053d7e2ffc3877a101b53635b8da370d2643fe37e766c4ab2e3a7d0c03fb6e85684494a46d8e4c568a83c893bc2bad346dc4b660afb8d5eb2 + languageName: node + linkType: hard + +"@react-native/metro-babel-transformer@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/metro-babel-transformer@npm:0.85.0" dependencies: "@babel/core": "npm:^7.25.2" - "@react-native/babel-preset": "npm:0.82.1" - hermes-parser: "npm:0.32.0" + "@react-native/babel-preset": "npm:0.85.0" + hermes-parser: "npm:0.33.3" nullthrows: "npm:^1.1.1" peerDependencies: "@babel/core": "*" - checksum: 10/fa144402c3e2814df792bb891ae51840297d4ab30e496cb95c521eeebb6b193ae446001c57265bcf5de05f10797bb6d3ea8a010d4f712eae8cf7f8f1235990db + checksum: 10/2bc30eeadfdd60dfa215f4bd3eb22176246e243e50a1e4d3cd66678dda9ca748590f520837c5174af630a474a34dd362309d9b9455229a3dedb1340378d62d21 languageName: node linkType: hard -"@react-native/metro-config@npm:0.82.1": - version: 0.82.1 - resolution: "@react-native/metro-config@npm:0.82.1" +"@react-native/metro-config@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/metro-config@npm:0.85.0" dependencies: - "@react-native/js-polyfills": "npm:0.82.1" - "@react-native/metro-babel-transformer": "npm:0.82.1" - metro-config: "npm:^0.83.1" - metro-runtime: "npm:^0.83.1" - checksum: 10/9ef0259525cafaf5eb6d0a2cf317766ce7c7b5ce02321fc441946d3f71c449252a19b529ee798118d146709c131481f1c89daa32c3efe54919ef081a4595cde4 + "@react-native/js-polyfills": "npm:0.85.0" + "@react-native/metro-babel-transformer": "npm:0.85.0" + metro-config: "npm:^0.84.0" + metro-runtime: "npm:^0.84.0" + checksum: 10/4f34d2a5f243c88ff982a4d0970334d64c1ba95578895a2af4833f72e1d5b1adad317958b2dccbb48ef890cca98820485b4237d8ee1faf88bc7db5404e35d85b languageName: node linkType: hard @@ -5319,6 +5529,13 @@ __metadata: languageName: node linkType: hard +"@react-native/normalize-colors@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/normalize-colors@npm:0.85.0" + checksum: 10/510281bdcec47adf885eaf7917b4dc79f3f8da3c6e8f6007ec946664374a6e5228f6dc936903e9788d018d1d3c8595fdeb78f346b40d810ceb5a42097ad1832d + languageName: node + linkType: hard + "@react-native/normalize-colors@npm:^0.74.1": version: 0.74.89 resolution: "@react-native/normalize-colors@npm:0.74.89" @@ -5326,10 +5543,10 @@ __metadata: languageName: node linkType: hard -"@react-native/typescript-config@npm:0.82.1": - version: 0.82.1 - resolution: "@react-native/typescript-config@npm:0.82.1" - checksum: 10/336d92ae712523fa17a681b52dec2ab72533d447c7478985fb4b4972abe10686855bd5ed22f46747454e7eda7104bb3e38329e18c07325b86724c80256ff91f2 +"@react-native/typescript-config@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/typescript-config@npm:0.85.0" + checksum: 10/89a17726b54f603505089cd9304413a3554f1bc41560a58268780a43a073090dd7299677c6efc4bead51bfb89a8291eedff29840539318cb73128e9a1800ef27 languageName: node linkType: hard @@ -5384,6 +5601,23 @@ __metadata: languageName: node linkType: hard +"@react-native/virtualized-lists@npm:0.85.0": + version: 0.85.0 + resolution: "@react-native/virtualized-lists@npm:0.85.0" + dependencies: + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + peerDependencies: + "@types/react": ^19.2.0 + react: "*" + react-native: 0.85.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/fa2f5d49b0f92d6543b02a4586a4303a8921026333a3cbf6e87ddaf1ff8fecfc0f5793b0289745e71dc00cc988bbc2e96069282d69592f0e853b6dc8703b5e20 + languageName: node + linkType: hard + "@react-navigation/bottom-tabs@npm:^7.10.1, @react-navigation/bottom-tabs@npm:^7.4.0": version: 7.15.5 resolution: "@react-navigation/bottom-tabs@npm:7.15.5" @@ -7536,6 +7770,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-hermes-parser@npm:0.33.3": + version: 0.33.3 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.33.3" + dependencies: + hermes-parser: "npm:0.33.3" + checksum: 10/250394dbe9fc7b6b2235ed7d0eaed287c811fbb79ab122a6d1a74f212dd85307273a06ae72e0b7f164f908f57d93f45f06183236f51d9fc704083cc67bce78c6 + languageName: node + linkType: hard + "babel-plugin-syntax-hermes-parser@npm:^0.28.0": version: 0.28.1 resolution: "babel-plugin-syntax-hermes-parser@npm:0.28.1" @@ -8164,6 +8407,19 @@ __metadata: languageName: node linkType: hard +"chromium-edge-launcher@npm:^0.3.0": + version: 0.3.0 + resolution: "chromium-edge-launcher@npm:0.3.0" + dependencies: + "@types/node": "npm:*" + escape-string-regexp: "npm:^4.0.0" + is-wsl: "npm:^2.2.0" + lighthouse-logger: "npm:^1.0.0" + mkdirp: "npm:^1.0.4" + checksum: 10/1df5a42cb8bbcc01486b8ab4739341d493075e09715c2039fb2646056d6a6e533048a4274e53b7c4dcd477f205133e3dd4d8d095e0caaf08cefc2dc2627af9dc + languageName: node + linkType: hard + "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -9543,6 +9799,21 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-react-hooks@npm:^7.0.1": + version: 7.0.1 + resolution: "eslint-plugin-react-hooks@npm:7.0.1" + dependencies: + "@babel/core": "npm:^7.24.4" + "@babel/parser": "npm:^7.24.4" + hermes-parser: "npm:^0.25.1" + zod: "npm:^3.25.0 || ^4.0.0" + zod-validation-error: "npm:^3.5.0 || ^4.0.0" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10/12e96c68d58c6588305fd17d660524a1ef1e872650ec591d5b138f059431290831c373d4b1c9ae8991fb25f96c43935497d2149678c027e65d0417d3d99ecc85 + languageName: node + linkType: hard + "eslint-plugin-react-native-globals@npm:^0.1.1": version: 0.1.2 resolution: "eslint-plugin-react-native-globals@npm:0.1.2" @@ -9561,7 +9832,18 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.30.1, eslint-plugin-react@npm:^7.37.3": +"eslint-plugin-react-native@npm:^5.0.0": + version: 5.0.0 + resolution: "eslint-plugin-react-native@npm:5.0.0" + dependencies: + eslint-plugin-react-native-globals: "npm:^0.1.1" + peerDependencies: + eslint: ^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + checksum: 10/41e84d806b74e3b4906c5541cad0caf1c79e30031130a1f3e92f9c030fb12e9ee4b193ea7b6ed5c425f2d83795e7f3ca51ab357e7e8f1f3d89c12fd4613343be + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.30.1, eslint-plugin-react@npm:^7.37.3, eslint-plugin-react@npm:^7.37.5": version: 7.37.5 resolution: "eslint-plugin-react@npm:7.37.5" dependencies: @@ -11496,6 +11778,20 @@ __metadata: languageName: node linkType: hard +"hermes-compiler@npm:250829098.0.10": + version: 250829098.0.10 + resolution: "hermes-compiler@npm:250829098.0.10" + checksum: 10/7687ad73483d6f25e9056da647ade37e434dbb7f85700f0900f902078c106c9b0498a064446191347d16c20cf29c083f560805179caf49af21b12b8b6be1f16b + languageName: node + linkType: hard + +"hermes-estree@npm:0.25.1": + version: 0.25.1 + resolution: "hermes-estree@npm:0.25.1" + checksum: 10/7b1eca98b264a25632064cffa5771360d30cf452e77db1e191f9913ee45cf78c292b2dbca707e92fb71b0870abb97e94b506a5ab80abd96ba237fee169b601fe + languageName: node + linkType: hard + "hermes-estree@npm:0.28.1": version: 0.28.1 resolution: "hermes-estree@npm:0.28.1" @@ -11576,6 +11872,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:^0.25.1": + version: 0.25.1 + resolution: "hermes-parser@npm:0.25.1" + dependencies: + hermes-estree: "npm:0.25.1" + checksum: 10/805efc05691420f236654349872c70731121791fa54de521c7ee51059eae34f84dd19f22ee846741dcb60372f8fb5335719b96b4ecb010d2aed7d872f2eff9cc + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.0": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -14099,6 +14404,18 @@ __metadata: languageName: node linkType: hard +"metro-babel-transformer@npm:0.84.2": + version: 0.84.2 + resolution: "metro-babel-transformer@npm:0.84.2" + dependencies: + "@babel/core": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + hermes-parser: "npm:0.33.3" + nullthrows: "npm:^1.1.1" + checksum: 10/40c9eb3561e059003be68e79b87d1f4143263a8ff47263eaa05c9735fd10338b7fe3b23a7856e51eebfb5c9e5581f02518f31b0fb3d9e309cf867b84daed932c + languageName: node + linkType: hard + "metro-cache-key@npm:0.83.3": version: 0.83.3 resolution: "metro-cache-key@npm:0.83.3" @@ -14117,6 +14434,15 @@ __metadata: languageName: node linkType: hard +"metro-cache-key@npm:0.84.2": + version: 0.84.2 + resolution: "metro-cache-key@npm:0.84.2" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10/b38997cf1add3ba5ae699d8d23b69ea7ab40ee3197fa658e37b199a27b0a289b7382bc39680a151293ae90148ce6d6e9295eb103ab6c11097e571a08bec74769 + languageName: node + linkType: hard + "metro-cache@npm:0.83.3": version: 0.83.3 resolution: "metro-cache@npm:0.83.3" @@ -14141,6 +14467,18 @@ __metadata: languageName: node linkType: hard +"metro-cache@npm:0.84.2": + version: 0.84.2 + resolution: "metro-cache@npm:0.84.2" + dependencies: + exponential-backoff: "npm:^3.1.1" + flow-enums-runtime: "npm:^0.0.6" + https-proxy-agent: "npm:^7.0.5" + metro-core: "npm:0.84.2" + checksum: 10/fa888fd1916784e0fabcebc95037fc190ea602d968b359d0a44209f6c2d1d936a7af1aea7963970a84c226dd50b8296d985b264699469319c579978c5950803c + languageName: node + linkType: hard + "metro-config@npm:0.83.3": version: 0.83.3 resolution: "metro-config@npm:0.83.3" @@ -14173,6 +14511,22 @@ __metadata: languageName: node linkType: hard +"metro-config@npm:0.84.2, metro-config@npm:^0.84.0": + version: 0.84.2 + resolution: "metro-config@npm:0.84.2" + dependencies: + connect: "npm:^3.6.5" + flow-enums-runtime: "npm:^0.0.6" + jest-validate: "npm:^29.7.0" + metro: "npm:0.84.2" + metro-cache: "npm:0.84.2" + metro-core: "npm:0.84.2" + metro-runtime: "npm:0.84.2" + yaml: "npm:^2.6.1" + checksum: 10/342d0d1f38f164c7efec6e97644316524c949f89e1836bda2a3342d1ac6a8ca19f2396dbe99daa3db8737688c173105a1c46e1a3a3c1be78da9643e5b17687f8 + languageName: node + linkType: hard + "metro-core@npm:0.83.3": version: 0.83.3 resolution: "metro-core@npm:0.83.3" @@ -14195,6 +14549,17 @@ __metadata: languageName: node linkType: hard +"metro-core@npm:0.84.2, metro-core@npm:^0.84.0": + version: 0.84.2 + resolution: "metro-core@npm:0.84.2" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + lodash.throttle: "npm:^4.1.1" + metro-resolver: "npm:0.84.2" + checksum: 10/e73254e0192925a4d503cbfa17d7fccb026727767ccb469cfb138cf33e3ef0a49c354ddac7b9de983d32364a642e40ec91382bc40f64bf87db039c63a3f9929f + languageName: node + linkType: hard + "metro-file-map@npm:0.83.3": version: 0.83.3 resolution: "metro-file-map@npm:0.83.3" @@ -14229,6 +14594,23 @@ __metadata: languageName: node linkType: hard +"metro-file-map@npm:0.84.2": + version: 0.84.2 + resolution: "metro-file-map@npm:0.84.2" + dependencies: + debug: "npm:^4.4.0" + fb-watchman: "npm:^2.0.0" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + nullthrows: "npm:^1.1.1" + walker: "npm:^1.0.7" + checksum: 10/e649319ecbcee76d0219e5ac02338bd573d8e9e58a3c9348b644e474a15d434503ca64a6511651c21f9c80a7c234f078296fb10aaa736fa215d68d765dc227ee + languageName: node + linkType: hard + "metro-minify-terser@npm:0.83.3": version: 0.83.3 resolution: "metro-minify-terser@npm:0.83.3" @@ -14249,6 +14631,16 @@ __metadata: languageName: node linkType: hard +"metro-minify-terser@npm:0.84.2": + version: 0.84.2 + resolution: "metro-minify-terser@npm:0.84.2" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + terser: "npm:^5.15.0" + checksum: 10/955d14ea0b15f8af9f1f713f97ad43c491b4409d127b4a50be73a649446a4e26e36445d8cb2d6b33002041224256ab0136eb1ab2c5d10c78d09d868564835c4c + languageName: node + linkType: hard + "metro-resolver@npm:0.83.3": version: 0.83.3 resolution: "metro-resolver@npm:0.83.3" @@ -14267,6 +14659,15 @@ __metadata: languageName: node linkType: hard +"metro-resolver@npm:0.84.2": + version: 0.84.2 + resolution: "metro-resolver@npm:0.84.2" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10/5d3c7f8970c60ac8d3ad452f32932ff699e2ace0450fc083585dde1cef163e9849c0455f61a6ccfe0a15cf0a200ab00845ad9fcaffe2030a1d81132295d947c8 + languageName: node + linkType: hard + "metro-runtime@npm:0.83.3": version: 0.83.3 resolution: "metro-runtime@npm:0.83.3" @@ -14287,6 +14688,16 @@ __metadata: languageName: node linkType: hard +"metro-runtime@npm:0.84.2, metro-runtime@npm:^0.84.0": + version: 0.84.2 + resolution: "metro-runtime@npm:0.84.2" + dependencies: + "@babel/runtime": "npm:^7.25.0" + flow-enums-runtime: "npm:^0.0.6" + checksum: 10/dac8ea11605ef4c559aff1dc236d114b53f79fa95ef7cd98c8e785f8e955982c2ec8d19fe433901187f206a1a264bf09516d87d8bdb812385fe4ecad4c838753 + languageName: node + linkType: hard + "metro-source-map@npm:0.83.3": version: 0.83.3 resolution: "metro-source-map@npm:0.83.3" @@ -14322,6 +14733,23 @@ __metadata: languageName: node linkType: hard +"metro-source-map@npm:0.84.2, metro-source-map@npm:^0.84.0": + version: 0.84.2 + resolution: "metro-source-map@npm:0.84.2" + dependencies: + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + flow-enums-runtime: "npm:^0.0.6" + invariant: "npm:^2.2.4" + metro-symbolicate: "npm:0.84.2" + nullthrows: "npm:^1.1.1" + ob1: "npm:0.84.2" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + checksum: 10/38b471663fae1cdbc3f666f64771503124f40161a8f6d8a59187ed171066ccd0f2840d35e718c1906f9e4940070b2dfdf564fed8d51037eefceef53a7576b6ca + languageName: node + linkType: hard + "metro-symbolicate@npm:0.83.3": version: 0.83.3 resolution: "metro-symbolicate@npm:0.83.3" @@ -14354,6 +14782,22 @@ __metadata: languageName: node linkType: hard +"metro-symbolicate@npm:0.84.2": + version: 0.84.2 + resolution: "metro-symbolicate@npm:0.84.2" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + invariant: "npm:^2.2.4" + metro-source-map: "npm:0.84.2" + nullthrows: "npm:^1.1.1" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + bin: + metro-symbolicate: src/index.js + checksum: 10/123bf14488f93a3c768b0bf81de7fff3f958f4d68620e59c317f94e04a36ab5f2d87720b1bc9335a7d58bbaa20225014dfd5199e5c7de3a3322a32dd8c4d5c14 + languageName: node + linkType: hard + "metro-transform-plugins@npm:0.83.3": version: 0.83.3 resolution: "metro-transform-plugins@npm:0.83.3" @@ -14382,6 +14826,20 @@ __metadata: languageName: node linkType: hard +"metro-transform-plugins@npm:0.84.2": + version: 0.84.2 + resolution: "metro-transform-plugins@npm:0.84.2" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + flow-enums-runtime: "npm:^0.0.6" + nullthrows: "npm:^1.1.1" + checksum: 10/2c48528485e83b423b50d4a18a8675ba19b2fe51568099f3035b756e62cba2e65099c6085990c9b3872e03c84b390bc2aa65e7bd7fe3d8f2ab93f510ceacfea7 + languageName: node + linkType: hard + "metro-transform-worker@npm:0.83.3": version: 0.83.3 resolution: "metro-transform-worker@npm:0.83.3" @@ -14424,6 +14882,27 @@ __metadata: languageName: node linkType: hard +"metro-transform-worker@npm:0.84.2": + version: 0.84.2 + resolution: "metro-transform-worker@npm:0.84.2" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + flow-enums-runtime: "npm:^0.0.6" + metro: "npm:0.84.2" + metro-babel-transformer: "npm:0.84.2" + metro-cache: "npm:0.84.2" + metro-cache-key: "npm:0.84.2" + metro-minify-terser: "npm:0.84.2" + metro-source-map: "npm:0.84.2" + metro-transform-plugins: "npm:0.84.2" + nullthrows: "npm:^1.1.1" + checksum: 10/19c897b701d9b17b92deb10ca97fec7ab9da3a10fc90f1deed4a6339d253d14780d0bbecd31486d4a24c110e3d99673910d251953b7d7ecf95e9a0546e338ef4 + languageName: node + linkType: hard + "metro@npm:0.83.3": version: 0.83.3 resolution: "metro@npm:0.83.3" @@ -14524,6 +15003,56 @@ __metadata: languageName: node linkType: hard +"metro@npm:0.84.2, metro@npm:^0.84.0": + version: 0.84.2 + resolution: "metro@npm:0.84.2" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + accepts: "npm:^2.0.0" + chalk: "npm:^4.0.0" + ci-info: "npm:^2.0.0" + connect: "npm:^3.6.5" + debug: "npm:^4.4.0" + error-stack-parser: "npm:^2.0.6" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + hermes-parser: "npm:0.33.3" + image-size: "npm:^1.0.2" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + jsc-safe-url: "npm:^0.2.2" + lodash.throttle: "npm:^4.1.1" + metro-babel-transformer: "npm:0.84.2" + metro-cache: "npm:0.84.2" + metro-cache-key: "npm:0.84.2" + metro-config: "npm:0.84.2" + metro-core: "npm:0.84.2" + metro-file-map: "npm:0.84.2" + metro-resolver: "npm:0.84.2" + metro-runtime: "npm:0.84.2" + metro-source-map: "npm:0.84.2" + metro-symbolicate: "npm:0.84.2" + metro-transform-plugins: "npm:0.84.2" + metro-transform-worker: "npm:0.84.2" + mime-types: "npm:^3.0.1" + nullthrows: "npm:^1.1.1" + serialize-error: "npm:^2.1.0" + source-map: "npm:^0.5.6" + throat: "npm:^5.0.0" + ws: "npm:^7.5.10" + yargs: "npm:^17.6.2" + bin: + metro: src/cli.js + checksum: 10/dfbe078df82deee9a242aa65d0b45f299cdaf0e2f7636f0b75ac353076f440cc471bbe00f1e6936bcf3c588f7abfb8a215d0f7ec286cd438aa1c513cb86a1a7b + languageName: node + linkType: hard + "micromark-core-commonmark@npm:^2.0.0": version: 2.0.3 resolution: "micromark-core-commonmark@npm:2.0.3" @@ -15495,6 +16024,15 @@ __metadata: languageName: node linkType: hard +"ob1@npm:0.84.2": + version: 0.84.2 + resolution: "ob1@npm:0.84.2" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10/cc4550ec4e0762802115ceb4a6adae007f097018d9231a84744ea67bb284e8cfe70a0c273889607643ccc859a014a6bd8ae13f8c4daca31ba08912396b700b2b + languageName: node + linkType: hard + "object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -16511,13 +17049,20 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^19.1.0, react-is@npm:^19.1.1": +"react-is@npm:^19.1.0": version: 19.2.4 resolution: "react-is@npm:19.2.4" checksum: 10/3360fc50a38c23299c5003a709949f2439b2901e77962eea78d892f526f710d05a7777b600b302f853583d1861979b00d7a0a071c89c6562eac5740ac29b9665 languageName: node linkType: hard +"react-is@npm:^19.2.3": + version: 19.2.5 + resolution: "react-is@npm:19.2.5" + checksum: 10/b2e18d4efd39496474956684a3757c43b9102af56add174abf2a46a6c1441dbdfe5fa7d9e7d7ebb42f543ffc9c7941fc74eb1e2bfdbf08979ea9e2ccc36da600 + languageName: node + linkType: hard + "react-lazy-with-preload@npm:^2.2.1": version: 2.2.1 resolution: "react-lazy-with-preload@npm:2.2.1" @@ -16917,6 +17462,57 @@ __metadata: languageName: node linkType: hard +"react-native@npm:0.85.0": + version: 0.85.0 + resolution: "react-native@npm:0.85.0" + dependencies: + "@react-native/assets-registry": "npm:0.85.0" + "@react-native/codegen": "npm:0.85.0" + "@react-native/community-cli-plugin": "npm:0.85.0" + "@react-native/gradle-plugin": "npm:0.85.0" + "@react-native/js-polyfills": "npm:0.85.0" + "@react-native/normalize-colors": "npm:0.85.0" + "@react-native/virtualized-lists": "npm:0.85.0" + abort-controller: "npm:^3.0.0" + anser: "npm:^1.4.9" + ansi-regex: "npm:^5.0.0" + babel-plugin-syntax-hermes-parser: "npm:0.33.3" + base64-js: "npm:^1.5.1" + commander: "npm:^12.0.0" + flow-enums-runtime: "npm:^0.0.6" + hermes-compiler: "npm:250829098.0.10" + invariant: "npm:^2.2.4" + memoize-one: "npm:^5.0.0" + metro-runtime: "npm:^0.84.0" + metro-source-map: "npm:^0.84.0" + nullthrows: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + promise: "npm:^8.3.0" + react-devtools-core: "npm:^6.1.5" + react-refresh: "npm:^0.14.0" + regenerator-runtime: "npm:^0.13.2" + scheduler: "npm:0.27.0" + semver: "npm:^7.1.3" + stacktrace-parser: "npm:^0.1.10" + tinyglobby: "npm:^0.2.15" + whatwg-fetch: "npm:^3.0.0" + ws: "npm:^7.5.10" + yargs: "npm:^17.6.2" + peerDependencies: + "@react-native/jest-preset": 0.85.0 + "@types/react": ^19.1.1 + react: ^19.2.3 + peerDependenciesMeta: + "@react-native/jest-preset": + optional: true + "@types/react": + optional: true + bin: + react-native: cli.js + checksum: 10/b318060f72eb95c5754eb8875d32b68245e13ea276a5a2ef61ec66a2514c6aab4639140930f846b62ca92d1d282a9495f0628194f2d0f3326cd32272fd311383 + languageName: node + linkType: hard + "react-reconciler@npm:0.33.0": version: 0.33.0 resolution: "react-reconciler@npm:0.33.0" @@ -17032,15 +17628,15 @@ __metadata: languageName: node linkType: hard -"react-test-renderer@npm:19.1.1": - version: 19.1.1 - resolution: "react-test-renderer@npm:19.1.1" +"react-test-renderer@npm:19.2.3": + version: 19.2.3 + resolution: "react-test-renderer@npm:19.2.3" dependencies: - react-is: "npm:^19.1.1" - scheduler: "npm:^0.26.0" + react-is: "npm:^19.2.3" + scheduler: "npm:^0.27.0" peerDependencies: - react: ^19.1.1 - checksum: 10/acdb7bb86d99b55f903c2b0a57240fe1084b9ba443b8a2e9805199c4a780c321801fbf78898b9955710097acf177ab800cc313d2840cb10fc3e24122cddee4ae + react: ^19.2.3 + checksum: 10/a9de4d869b1555a54c02e8701be262dfa669eb366ff5cdb43ba49fa516beae439cbec2c3e5606c909e773c232328993e231b393af5eef25e87a845d4c7fb00dc languageName: node linkType: hard @@ -17065,6 +17661,13 @@ __metadata: languageName: node linkType: hard +"react@npm:19.2.3": + version: 19.2.3 + resolution: "react@npm:19.2.3" + checksum: 10/d16b7f35c0d35a56f63d9d1693819762e4abc479c57dd6310298920bed3820fcec7e17a99d44983416d8f5049143ea45b8005d3ab8324bae8973224400502b08 + languageName: node + linkType: hard + "react@npm:^19.2.4": version: 19.2.4 resolution: "react@npm:19.2.4" @@ -20219,6 +20822,15 @@ __metadata: languageName: node linkType: hard +"zod-validation-error@npm:^3.5.0 || ^4.0.0": + version: 4.0.2 + resolution: "zod-validation-error@npm:4.0.2" + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + checksum: 10/5e35ca8ebb4602dcb526e122d7e9fca695c4a479bd97535f3400a732d49160f24f7213a9ed64986fc9dc3a2e8a6c4e1241ec0c4d8a4e3e69ea91a0328ded2192 + languageName: node + linkType: hard + "zod@npm:^3.23.8, zod@npm:^3.25.76": version: 3.25.76 resolution: "zod@npm:3.25.76" @@ -20226,6 +20838,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.25.0 || ^4.0.0": + version: 4.3.6 + resolution: "zod@npm:4.3.6" + checksum: 10/25fc0f62e01b557b4644bf0b393bbaf47542ab30877c37837ea8caf314a8713d220c7d7fe51f68ffa72f0e1018ddfa34d96f1973d23033f5a2a5a9b6b9d9da01 + languageName: node + linkType: hard + "zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": version: 2.0.4 resolution: "zwitch@npm:2.0.4" From 9250fbf43853b14fb91f93260778a5b40b458632 Mon Sep 17 00:00:00 2001 From: artus9033 Date: Fri, 10 Apr 2026 13:26:43 +0200 Subject: [PATCH 2/7] docs: update RN version support matrix --- docs/docs/docs/getting-started/introduction.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/docs/getting-started/introduction.mdx b/docs/docs/docs/getting-started/introduction.mdx index 29d69ec7..3d17688d 100644 --- a/docs/docs/docs/getting-started/introduction.mdx +++ b/docs/docs/docs/getting-started/introduction.mdx @@ -19,7 +19,7 @@ React Native Brownfield is a library that simplifies integrating React Native in | Tested React Native Version | React Native Brownfield Version | | --------------------------- | ------------------------------- | -| 0.83.x | 3.x | +| 0.83.x, 0.84.x, 0.85.x | 3.x | | 0.81.x, 0.82.x | 2.x, 3.x | | 0.78.x | ^1.2.0 | From 0a87fcb1879c3243ecc71852b8ce7305c5435358 Mon Sep 17 00:00:00 2001 From: artus9033 Date: Fri, 10 Apr 2026 13:27:40 +0200 Subject: [PATCH 3/7] docs: update Expo version support matrix --- docs/docs/docs/getting-started/introduction.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/docs/docs/getting-started/introduction.mdx b/docs/docs/docs/getting-started/introduction.mdx index 3d17688d..48d1adce 100644 --- a/docs/docs/docs/getting-started/introduction.mdx +++ b/docs/docs/docs/getting-started/introduction.mdx @@ -23,6 +23,12 @@ React Native Brownfield is a library that simplifies integrating React Native in | 0.81.x, 0.82.x | 2.x, 3.x | | 0.78.x | ^1.2.0 | +## Expo Version Compatibility + +| Tested Expo Version | React Native Brownfield Version | +| ------------------- | ------------------------------- | +| 54.x, 55.x | 3.x | + ## Cross-package Compatibility For all versions >= `3.0.0`, the packages in the Brownfield ecosystem are guaranteed to be compatible with each other within the same major version (e.g. `3.*.*` brownfield CLI package is compatible with all versions `3.*.*` of other packages). From a82ab314e1ccc902701000caebb874e6a52433b1 Mon Sep 17 00:00:00 2001 From: artus9033 Date: Fri, 10 Apr 2026 16:57:33 +0200 Subject: [PATCH 4/7] chore: upgrade AGP & Gradle wrapper in AndroidApp --- apps/AndroidApp/gradle.properties | 11 +++++++++++ apps/AndroidApp/gradle/libs.versions.toml | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/AndroidApp/gradle.properties b/apps/AndroidApp/gradle.properties index c347db14..803d4f4d 100644 --- a/apps/AndroidApp/gradle.properties +++ b/apps/AndroidApp/gradle.properties @@ -24,3 +24,14 @@ kotlin.code.style=official android.nonTransitiveRClass=true # Enable Gradle's build cache org.gradle.caching=true +android.defaults.buildfeatures.resvalues=true +android.sdk.defaultTargetSdkToCompileSdkIfUnset=false +android.enableAppCompileTimeRClass=false +android.onlyEnableUnitTestForTheTestedBuildType=false +android.usesSdkInManifest.disallowed=false +android.uniquePackageNames=false +android.dependency.useConstraints=true +android.r8.strictFullModeForKeepRules=false +android.r8.optimizedResourceShrinking=false +android.builtInKotlin=false +android.newDsl=false diff --git a/apps/AndroidApp/gradle/libs.versions.toml b/apps/AndroidApp/gradle/libs.versions.toml index 3cd1b127..b9964c99 100644 --- a/apps/AndroidApp/gradle/libs.versions.toml +++ b/apps/AndroidApp/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -agp = "8.13.2" +agp = "9.1.0" brownfieldlib = "0.0.1-SNAPSHOT" kotlin = "2.2.21" coreKtx = "1.17.0" diff --git a/apps/AndroidApp/gradle/wrapper/gradle-wrapper.properties b/apps/AndroidApp/gradle/wrapper/gradle-wrapper.properties index 8d8645ec..e4cefb1a 100644 --- a/apps/AndroidApp/gradle/wrapper/gradle-wrapper.properties +++ b/apps/AndroidApp/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ #Thu Dec 11 23:54:21 CET 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 67a3e384288c61c63cf5aa827bb66a8753e3bc56 Mon Sep 17 00:00:00 2001 From: artus9033 Date: Fri, 10 Apr 2026 17:48:21 +0200 Subject: [PATCH 5/7] fix: use correct RN artifacts --- apps/RNApp/android/BrownfieldLib/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/RNApp/android/BrownfieldLib/build.gradle.kts b/apps/RNApp/android/BrownfieldLib/build.gradle.kts index 9e6495c7..019236ec 100644 --- a/apps/RNApp/android/BrownfieldLib/build.gradle.kts +++ b/apps/RNApp/android/BrownfieldLib/build.gradle.kts @@ -123,6 +123,6 @@ dependencies { testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.3.0") androidTestImplementation("androidx.test.espresso:espresso-core:3.7.0") - api("com.facebook.react:react-android:0.82.1") - api("com.facebook.react:hermes-android:0.82.1") + api("com.facebook.react:react-android:0.85.0") + api("com.facebook.hermes:hermes-android:250829098.0.10") } From ff7e9fb2d2d69cb2fcfd2e4cda3d39d738fd2546 Mon Sep 17 00:00:00 2001 From: artus9033 Date: Fri, 10 Apr 2026 18:13:24 +0200 Subject: [PATCH 6/7] docs: rework - Android integration tabs, support 0.85 & list both Hermes V1 and legacy versions --- docs/docs/docs/getting-started/android.mdx | 122 ++++++++++++++++++--- 1 file changed, 104 insertions(+), 18 deletions(-) diff --git a/docs/docs/docs/getting-started/android.mdx b/docs/docs/docs/getting-started/android.mdx index 2df4d243..97d458d9 100644 --- a/docs/docs/docs/getting-started/android.mdx +++ b/docs/docs/docs/getting-started/android.mdx @@ -1,4 +1,4 @@ -import { PackageManagerTabs } from '@theme'; +import { PackageManagerTabs, Tabs, Tab } from '@theme'; # Android Integration @@ -61,24 +61,110 @@ react { ## 3. Add React Native Dependencies -Add to `reactnativeapp/build.gradle.kts`: +Add the code below to `reactnativeapp/build.gradle.kts` based on your React Native version. -```kotlin -dependencies { - // Match your version of React Native. For example, for React Native 0.83.x: - api("com.facebook.react:react-android:0.83.0") - - // Hermes artifact - choose based on your React Native version - // For React Native 0.84+: - api("com.facebook.hermes:hermes-android:0.15.1") - // For React Native 0.83.2 - 0.83.x: - // api("com.facebook.hermes:hermes-android:0.14.1") - // For React Native 0.83.0 and 0.83.1: - // api("com.facebook.hermes:hermes-android:0.14.0") - // For React Native 0.82.x and below: - // api("com.facebook.react:hermes-android:") -} -``` + + + ```kotlin + dependencies { + // Match your version of React Native below + api("com.facebook.react:react-android:0.85.0") + + // Use the below for Hermes V1 + api("com.facebook.hermes:hermes-android:250829098.0.10") + // Alternatively, use the below for legacy Hermes + // api("com.facebook.hermes:hermes-android:0.16.0") + } + ``` + + + + ```kotlin + dependencies { + // Match your version of React Native below + api("com.facebook.react:react-android:0.84.1") + + // Use the below for Hermes V1 + api("com.facebook.hermes:hermes-android:250829098.0.9") + // Alternatively, use the below for legacy Hermes + // api("com.facebook.hermes:hermes-android:0.15.1") + } + ``` + + + + ```kotlin + dependencies { + // Match your version of React Native below + api("com.facebook.react:react-android:0.84.0") + + // Use the below for Hermes V1 + api("com.facebook.hermes:hermes-android:250829098.0.7") + // Alternatively, use the below for legacy Hermes + // api("com.facebook.hermes:hermes-android:0.14.1") + } + ``` + + + + ```kotlin + dependencies { + // Match your version of React Native below + api("com.facebook.react:react-android:") + // e.g., for RN 0.83.4 + // api("com.facebook.react:react-android:0.83.4") + + // Use the below for Hermes V1 + api("com.facebook.hermes:hermes-android:250829098.0.4") + // Alternatively, use the below for legacy Hermes + // api("com.facebook.hermes:hermes-android:0.14.1") + } + ``` + + + + ```kotlin + dependencies { + // Match your version of React Native below + api("com.facebook.react:react-android:0.83.1") + + // Use the below for Hermes V1 + api("com.facebook.hermes:hermes-android:250829098.0.4") + // Alternatively, use the below for legacy Hermes + // api("com.facebook.hermes:hermes-android:0.14.0") + } + ``` + + + + ```kotlin + dependencies { + // Match your version of React Native below + api("com.facebook.react:react-android:0.83.0") + + // Use the below for Hermes V1 + api("com.facebook.hermes:hermes-android:250829098.0.4") + // Alternatively, use the below for legacy Hermes + // api("com.facebook.hermes:hermes-android:0.14.0") + } + ``` + + + + ```kotlin + dependencies { + // Match your version of React Native below + api("com.facebook.react:react-android:") + api("com.facebook.react:hermes-android:") + + // e.g., for RN 0.82.0 + // api("com.facebook.react:react-android:0.82.0") + // api("com.facebook.react:hermes-android:0.82.0") + } + ``` + + + :::warning Important Make sure the **React Native version** matches the version in your project's `package.json`. From bec4d8fa3bfd7ffeccd253c5c146d7fb0e525daa Mon Sep 17 00:00:00 2001 From: artus9033 Date: Fri, 10 Apr 2026 19:04:50 +0200 Subject: [PATCH 7/7] chore(demo): remove obsolete AGP options and plugins --- apps/AndroidApp/app/build.gradle.kts | 6 +----- apps/AndroidApp/build.gradle.kts | 1 - apps/AndroidApp/gradle.properties | 9 +-------- apps/AndroidApp/gradle/libs.versions.toml | 13 +++++++------ 4 files changed, 9 insertions(+), 20 deletions(-) diff --git a/apps/AndroidApp/app/build.gradle.kts b/apps/AndroidApp/app/build.gradle.kts index afbb59b1..7d11b815 100644 --- a/apps/AndroidApp/app/build.gradle.kts +++ b/apps/AndroidApp/app/build.gradle.kts @@ -1,6 +1,5 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) } @@ -55,16 +54,13 @@ android { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = "17" - } buildFeatures { compose = true } } dependencies { - implementation("com.google.code.gson:gson:2.13.1") + implementation(libs.gson) implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) diff --git a/apps/AndroidApp/build.gradle.kts b/apps/AndroidApp/build.gradle.kts index 952b9306..18318bec 100644 --- a/apps/AndroidApp/build.gradle.kts +++ b/apps/AndroidApp/build.gradle.kts @@ -1,6 +1,5 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(libs.plugins.android.application) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false } \ No newline at end of file diff --git a/apps/AndroidApp/gradle.properties b/apps/AndroidApp/gradle.properties index 803d4f4d..1b1b47be 100644 --- a/apps/AndroidApp/gradle.properties +++ b/apps/AndroidApp/gradle.properties @@ -15,7 +15,6 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 # 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 - # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official # Enables namespacing of each library's R class so that its R class includes only the @@ -24,14 +23,8 @@ kotlin.code.style=official android.nonTransitiveRClass=true # Enable Gradle's build cache org.gradle.caching=true -android.defaults.buildfeatures.resvalues=true -android.sdk.defaultTargetSdkToCompileSdkIfUnset=false -android.enableAppCompileTimeRClass=false android.onlyEnableUnitTestForTheTestedBuildType=false -android.usesSdkInManifest.disallowed=false android.uniquePackageNames=false android.dependency.useConstraints=true android.r8.strictFullModeForKeepRules=false -android.r8.optimizedResourceShrinking=false -android.builtInKotlin=false -android.newDsl=false +android.dependency.excludeLibraryComponentsFromConstraints=true diff --git a/apps/AndroidApp/gradle/libs.versions.toml b/apps/AndroidApp/gradle/libs.versions.toml index b9964c99..973d4ce6 100644 --- a/apps/AndroidApp/gradle/libs.versions.toml +++ b/apps/AndroidApp/gradle/libs.versions.toml @@ -1,17 +1,18 @@ [versions] agp = "9.1.0" brownfieldlib = "0.0.1-SNAPSHOT" -kotlin = "2.2.21" -coreKtx = "1.17.0" +kotlin = "2.3.20" +coreKtx = "1.18.0" junit = "4.13.2" junitVersion = "1.3.0" espressoCore = "3.7.0" -lifecycleRuntimeKtx = "2.6.1" -activityCompose = "1.8.0" -composeBom = "2024.09.00" +lifecycleRuntimeKtx = "2.10.0" +activityCompose = "1.13.0" +composeBom = "2026.03.01" appcompat = "1.7.1" fragmentCompose = "1.8.9" material = "1.13.0" +gson = "2.13.2" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -34,9 +35,9 @@ androidx-compose-material3 = { group = "androidx.compose.material3", name = "mat androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } androidx-fragment-compose = { group = "androidx.fragment", name = "fragment-compose", version.ref = "fragmentCompose" } material = { module = "com.google.android.material:material", version.ref = "material" } +gson = { module = "com.google.code.gson:gson", version.ref = "gson" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }