diff --git a/template/.gitignore b/template/.gitignore index edbb04766..6a41a17a5 100644 --- a/template/.gitignore +++ b/template/.gitignore @@ -33,6 +33,7 @@ local.properties .cxx/ *.keystore !debug.keystore +.kotlin/ # node.js # diff --git a/template/.prettierrc.js b/template/.prettierrc.js deleted file mode 100644 index f53509386..000000000 --- a/template/.prettierrc.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - importOrder: [ - '^(node:)', - '', - '^@/(.*)$', - '', // empty line - '', // Node.js built-in modules - '', // Imports not matched by other special words or groups. - '', // empty line - '^@/theme(.*)$', - '^@/hooks(.*)$', - '^@/navigation(.*)$', - '^@/translations(.*)$', - '', // empty line - '^@/components/atoms(.*)$', - '^@/components/molecules(.*)$', - '^@/components/organisms(.*)$', - '^@/components/templates(.*)$', - '^@/screens(.*)$', - '', // empty line - '^@/(.*)$', - '', // empty line - '^[.]', // relative imports - ], - importOrderTypeScriptVersion: '5.0.0', - plugins: ['@ianvs/prettier-plugin-sort-imports'], - singleQuote: true, -}; diff --git a/template/.prettierrc.mjs b/template/.prettierrc.mjs new file mode 100644 index 000000000..ae4b0277e --- /dev/null +++ b/template/.prettierrc.mjs @@ -0,0 +1,3 @@ +export default { + singleQuote: true, +}; diff --git a/template/.yarnrc.yml b/template/.yarnrc.yml deleted file mode 100644 index 3186f3f07..000000000 --- a/template/.yarnrc.yml +++ /dev/null @@ -1 +0,0 @@ -nodeLinker: node-modules diff --git a/template/Gemfile b/template/Gemfile index 85d7f6828..03278dd5e 100644 --- a/template/Gemfile +++ b/template/Gemfile @@ -7,3 +7,4 @@ ruby ">= 2.6.10" gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1' gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0' gem 'xcodeproj', '< 1.26.0' +gem 'concurrent-ruby', '< 1.3.4' diff --git a/template/__mocks__/TestAppWrapper.tsx b/template/__mocks__/TestAppWrapper.tsx index a28ee2ac7..c21ba239c 100644 --- a/template/__mocks__/TestAppWrapper.tsx +++ b/template/__mocks__/TestAppWrapper.tsx @@ -1,13 +1,11 @@ +import { queryClient, storage } from '@/App'; import { QueryClientProvider } from '@tanstack/react-query'; import { type PropsWithChildren } from 'react'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import { ThemeProvider } from '@/theme'; - import '@/translations'; -import { queryClient, storage } from '@/App'; - function TestAppWrapper({ children }: PropsWithChildren) { return ( diff --git a/template/__mocks__/getAssetsContext.ts b/template/__mocks__/getAssetsContext.ts index c499bc56d..3dcdbdc87 100644 --- a/template/__mocks__/getAssetsContext.ts +++ b/template/__mocks__/getAssetsContext.ts @@ -2,24 +2,25 @@ import type { AssetType } from '@/theme/assets/getAssetsContext'; jest.mock('@/theme/assets/getAssetsContext', () => jest.fn((type: AssetType) => { - const context = (key: string) => { + const testIcon = 'mocked-icon-uri'; // Simulated URI for icons + const testImage = 'test-image-uri'; // Simulated URI for images + + const context = () => { if (type === 'images') { - return jest.mock('@/theme/assets/images/tom.png'); - } - if (type === 'icons') { - return jest.mock('@/theme/assets/icons/send.svg'); + return { + default: () => testImage, + }; } - return key; + return { + default: () => testIcon, + }; }; context.keys = () => { if (type === 'images') { - return ['images/tom.png']; - } - if (type === 'icons') { - return ['icons/send.svg']; + return [testImage]; } - return []; + return [testIcon]; }; return context; diff --git a/template/__mocks__/libs/index.ts b/template/__mocks__/libs/index.ts index 729f55b37..aca5c9f13 100644 --- a/template/__mocks__/libs/index.ts +++ b/template/__mocks__/libs/index.ts @@ -1,4 +1,2 @@ -import '@testing-library/react-native/extend-expect'; -// LOCAL import './react-native-reanimated'; import './react-native-safe-area-context'; diff --git a/template/_gitignore b/template/_gitignore index 3cd957f8d..6f729a372 100644 --- a/template/_gitignore +++ b/template/_gitignore @@ -33,6 +33,7 @@ local.properties .cxx/ *.keystore !debug.keystore +.kotlin/ # node.js # diff --git a/template/android/app/build.gradle b/template/android/app/build.gradle index c0083dab6..fd5ee141a 100644 --- a/template/android/app/build.gradle +++ b/template/android/app/build.gradle @@ -63,14 +63,14 @@ 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:+'` + * `def jscFlavor = io.github.react-native-community:jsc-android-intl:2026004.+` * * 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:+' +def jscFlavor = 'io.github.react-native-community:jsc-android:2026004.+' android { ndkVersion rootProject.ext.ndkVersion diff --git a/template/android/build.gradle b/template/android/build.gradle index a9ea02369..976694691 100644 --- a/template/android/build.gradle +++ b/template/android/build.gradle @@ -3,9 +3,9 @@ buildscript { buildToolsVersion = "35.0.0" minSdkVersion = 24 compileSdkVersion = 35 - targetSdkVersion = 34 - ndkVersion = "26.1.10909125" - kotlinVersion = "1.9.24" + targetSdkVersion = 35 + ndkVersion = "27.1.12297006" + kotlinVersion = "2.0.21" } repositories { google() diff --git a/template/android/gradle/wrapper/gradle-wrapper.properties b/template/android/gradle/wrapper/gradle-wrapper.properties index 79eb9d003..e0fd02028 100644 --- a/template/android/gradle/wrapper/gradle-wrapper.properties +++ b/template/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.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/template/android/gradlew b/template/android/gradlew index f5feea6d6..f3b75f3b0 100755 --- a/template/android/gradlew +++ b/template/android/gradlew @@ -86,8 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/template/eslint.config.mjs b/template/eslint.config.mjs index 3401fdc4b..a7713dc68 100644 --- a/template/eslint.config.mjs +++ b/template/eslint.config.mjs @@ -1,121 +1,45 @@ -import { dirname } from 'node:path'; -import { fileURLToPath } from 'node:url'; +import eslintConfigPrettier from 'eslint-config-prettier'; import importPlugin from 'eslint-plugin-import'; -import jest from 'eslint-plugin-jest'; import perfectionist from 'eslint-plugin-perfectionist'; import react from 'eslint-plugin-react'; import reactHooks from 'eslint-plugin-react-hooks'; -import testingLibrary from 'eslint-plugin-testing-library'; +import reactRefresh from 'eslint-plugin-react-refresh'; import unicorn from 'eslint-plugin-unicorn'; -import unusedImports from 'eslint-plugin-unused-imports'; -import tsEslint from 'typescript-eslint'; -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); +const ERROR = 2; +const OFF = 0; -export default [ - ...tsEslint.configs.strict, +import eslint from '@eslint/js'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + eslint.configs.recommended, + tseslint.configs.strictTypeChecked, + tseslint.configs.stylisticTypeChecked, + unicorn.configs.all, + perfectionist.configs['recommended-alphabetical'], + importPlugin.flatConfigs.react, + importPlugin.flatConfigs['react-native'], + importPlugin.flatConfigs.typescript, + react.configs.flat.all, + react.configs.flat['jsx-runtime'], + reactRefresh.configs.recommended, + eslintConfigPrettier, // last { - files: ['**/*.mjs', '**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx'], - plugins: { - import: importPlugin, - jest, - perfectionist, - react, - 'react-hooks': reactHooks, - unicorn, - 'unused-imports': unusedImports, - }, - rules: { - // `import/default`, `import/namespace` and `import/no-duplicates` are slow. - '@typescript-eslint/no-var-requires': 0, - curly: 2, - 'import/default': 0, - 'import/named': 0, - 'import/namespace': 0, - 'import/no-duplicates': 0, - 'import/no-extraneous-dependencies': 2, - 'import/no-named-as-default-member': 0, - 'import/no-unresolved': 0, - 'import/order': 0, - 'no-console': 2, - 'no-const-assign': 2, - 'no-constant-binary-expression': 2, - 'no-extra-parens': [2, 'functions'], - 'no-irregular-whitespace': 2, - 'no-this-before-super': 2, - 'no-unused-expressions': 2, - 'no-unused-labels': 2, - 'no-unused-vars': 0, - 'no-useless-rename': 2, - 'no-var': 2, - 'no-warning-comments': [2, { terms: ['@nocommit'] }], - 'object-curly-spacing': 0, - 'object-shorthand': 2, - 'perfectionist/sort-array-includes': 'error', - 'perfectionist/sort-classes': 'error', - 'perfectionist/sort-enums': 'error', - 'perfectionist/sort-exports': 'error', - 'perfectionist/sort-imports': 0, - 'perfectionist/sort-interfaces': 'error', - 'perfectionist/sort-intersection-types': 'error', - 'perfectionist/sort-jsx-props': 'error', - 'perfectionist/sort-maps': 'error', - 'perfectionist/sort-named-exports': 'error', - 'perfectionist/sort-named-imports': 'error', - 'perfectionist/sort-object-types': 'error', - 'perfectionist/sort-objects': 'error', - 'perfectionist/sort-sets': 'error', - 'perfectionist/sort-switch-case': 'error', - 'perfectionist/sort-union-types': 'error', - 'perfectionist/sort-variable-declarations': 'error', - 'prefer-arrow-callback': [2, { allowNamedFunctions: true }], - 'prefer-const': 2, - 'react-hooks/exhaustive-deps': 2, - 'react/jsx-sort-props': 0, // Handled by perfectionist - 'react/prop-types': 2, - 'react/react-in-jsx-scope': 0, - 'react/require-default-props': [ - 2, - { - forbidDefaultForRequired: true, - functions: 'defaultArguments', - }, - ], - 'unicorn/better-regex': 2, - 'unicorn/catch-error-name': 2, - 'unicorn/consistent-empty-array-spread': 2, - 'unicorn/consistent-function-scoping': 2, - 'unicorn/no-abusive-eslint-disable': 2, - 'unicorn/no-hex-escape': 2, - 'unicorn/no-invalid-fetch-options': 2, - 'unicorn/no-length-as-slice-end': 2, - 'unicorn/no-magic-array-flat-depth': 2, - 'unicorn/no-typeof-undefined': 2, - 'unicorn/no-unnecessary-polyfills': 2, - 'unicorn/no-useless-promise-resolve-reject': 2, - 'unicorn/no-useless-spread': 2, - 'unicorn/numeric-separators-style': 2, - 'unicorn/prefer-array-flat-map': 2, - 'unicorn/prefer-array-index-of': 2, - 'unicorn/prefer-array-some': 2, - 'unicorn/prefer-at': 2, - 'unicorn/prefer-dom-node-append': 2, - 'unicorn/prefer-native-coercion-functions': 2, - 'unicorn/prefer-node-protocol': 2, - 'unicorn/prefer-number-properties': 2, - 'unicorn/prefer-optional-catch-binding': 2, - 'unicorn/prefer-set-size': 2, - 'unicorn/prefer-string-raw': 2, - 'unicorn/prefer-string-replace-all': 2, - 'unicorn/prefer-string-slice': 2, - 'unicorn/prefer-structured-clone': 2, - 'unicorn/prefer-ternary': 2, - 'unicorn/prefer-top-level-await': 0, // not valid on RN for the moment - 'unicorn/text-encoding-identifier-case': 2, - 'unused-imports/no-unused-imports': 0, + languageOptions: { + globals: { + __DEV__: 'readonly', // Définit __DEV__ comme une variable globale en lecture seule + }, + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, }, settings: { + 'import/resolver': { + node: true, + typescript: true, + }, perfectionist: { partitionByComment: true, type: 'alphabetical', @@ -126,46 +50,99 @@ export default [ }, }, { - files: ['**/*.ts', '**/*.tsx'], - languageOptions: { - ecmaVersion: 'latest', - parser: tsEslint.parser, - parserOptions: { - project: ['./tsconfig.json'], - tsconfigRootDir: __dirname, - }, - sourceType: 'module', - }, + ...reactHooks.configs.recommended, plugins: { - '@typescript-eslint': tsEslint.plugin, + 'react-hooks': reactHooks, }, rules: { - '@typescript-eslint/ban-ts-comment': 0, - '@typescript-eslint/consistent-type-imports': 2, - '@typescript-eslint/no-dynamic-delete': 0, - '@typescript-eslint/no-invalid-void-type': 0, - '@typescript-eslint/no-namespace': 0, - '@typescript-eslint/no-non-null-assertion': 0, - '@typescript-eslint/no-this-alias': 0, - '@typescript-eslint/no-unused-vars': 0, - '@typescript-eslint/no-var-requires': 0, - 'import/no-unresolved': 0, // handled by TypeScript - 'react/prop-types': 0, + '@typescript-eslint/consistent-type-definitions': [ERROR, 'type'], + '@typescript-eslint/dot-notation': [ERROR, { allowKeywords: true }], + '@typescript-eslint/no-empty-function': OFF, + '@typescript-eslint/restrict-template-expressions': OFF, + 'import/no-unresolved': OFF, // handled by TypeScript + 'no-console': [ERROR, { allow: ['warn', 'error'] }], + 'no-magic-numbers': [ + ERROR, + { ignore: [-1, 0, 1, 2, 3, 4, 5, 6], ignoreArrayIndexes: true }, + ], + 'perfectionist/sort-imports': [ + 'error', + { + customGroups: { + value: { + components: '@/components(/.+)?', + hooks: '@/hooks(/.+)?', + navigation: '@/navigation(/.+)?', + screens: '@/screens(/.+)?', + theme: '@/theme(/.+)?', + translations: '@/translations(/.+)?', + }, + }, + groups: [ + 'side-effect', + ['type', 'internal-type'], + ['builtin', 'external'], + ['theme', 'hooks', 'navigation', 'translations'], + ['components', 'screens'], + 'internal', + 'unknown', + ], + newlinesBetween: 'always', + type: 'alphabetical', + }, + ], + + 'react-refresh/only-export-components': OFF, + 'react/forbid-component-props': OFF, + 'react/jsx-filename-extension': [ERROR, { extensions: ['.tsx', '.jsx'] }], + 'react/jsx-max-depth': [ERROR, { max: 10 }], + 'react/jsx-no-bind': OFF, + 'react/jsx-no-literals': OFF, + 'react/jsx-props-no-spreading': OFF, + 'react/jsx-sort-props': OFF, // Handled by perfectionist + 'react/no-multi-comp': OFF, + 'react/no-unescaped-entities': OFF, + 'react/require-default-props': [ + ERROR, + { + forbidDefaultForRequired: true, + functions: 'defaultArguments', + }, + ], + 'unicorn/filename-case': OFF, + 'unicorn/no-keyword-prefix': OFF, + 'unicorn/no-useless-undefined': OFF, + 'unicorn/prefer-top-level-await': 0, // not valid on RN for the moment + 'unicorn/prevent-abbreviations': [ + ERROR, + { + allowList: { + env: true, + Param: true, + props: true, + Props: true, + }, + }, + ], }, }, { - files: ['./**/*.test.{ts,tsx}'], - plugins: { - 'testing-library': testingLibrary, + files: ['**/theme/*.ts'], + rules: { + 'no-magic-numbers': OFF, }, + }, + { + files: ['*.conf.js', '*.config.js', '*.setup.js'], rules: { - '@typescript-eslint/no-unsafe-assignment': 0, - '@typescript-eslint/no-unsafe-call': 0, - '@typescript-eslint/no-unsafe-member-access': 0, - '@typescript-eslint/no-unsafe-return': 0, + '@typescript-eslint/no-require-imports': OFF, + '@typescript-eslint/no-unsafe-assignment': OFF, + '@typescript-eslint/no-unsafe-call': OFF, + 'no-undef': OFF, + 'unicorn/prefer-module': OFF, }, }, { - ignores: ['metro.config.js'], + ignores: ['plugins/**'], }, -]; +); diff --git a/template/index.d.ts b/template/index.d.ts index e69de29bb..6422d9ead 100644 --- a/template/index.d.ts +++ b/template/index.d.ts @@ -0,0 +1,10 @@ +// FIXME: https://github.com/import-js/eslint-plugin-import/issues/3169 +declare module 'eslint-plugin-import' { + import type { Linter } from 'eslint'; + + export const flatConfigs: { + [key: string]: Linter.Config | undefined; + recommended: Linter.Config; + typescript: Linter.Config; + }; +} diff --git a/template/index.js b/template/index.js index 056e639a5..f4d782b4a 100644 --- a/template/index.js +++ b/template/index.js @@ -4,7 +4,7 @@ import { name as appName } from './app.json'; import App from './src/App'; if (__DEV__) { - import('@/reactotron.config'); + void import('@/reactotron.config'); } AppRegistry.registerComponent(appName, () => App); diff --git a/template/ios/AppDelegade.swift b/template/ios/AppDelegade.swift new file mode 100644 index 000000000..fdee9ceeb --- /dev/null +++ b/template/ios/AppDelegade.swift @@ -0,0 +1,30 @@ +import UIKit +import React +import React_RCTAppDelegate +import ReactAppDependencyProvider + +@main +class AppDelegate: RCTAppDelegate { + override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + self.moduleName = "Boilerplate" + self.dependencyProvider = RCTAppDependencyProvider() + + // 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) + } + + override func sourceURL(for bridge: RCTBridge) -> URL? { + self.bundleURL() + } + + override func bundleURL() -> URL? { +#if DEBUG + RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index") +#else + Bundle.main.url(forResource: "main", withExtension: "jsbundle") +#endif + } +} diff --git a/template/ios/Boilerplate-Bridging-Header.h b/template/ios/Boilerplate-Bridging-Header.h new file mode 100644 index 000000000..1b2cb5d6d --- /dev/null +++ b/template/ios/Boilerplate-Bridging-Header.h @@ -0,0 +1,4 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// + diff --git a/template/ios/Boilerplate.xcodeproj/project.pbxproj b/template/ios/Boilerplate.xcodeproj/project.pbxproj index 49b26ec75..bfe150229 100644 --- a/template/ios/Boilerplate.xcodeproj/project.pbxproj +++ b/template/ios/Boilerplate.xcodeproj/project.pbxproj @@ -7,14 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 00E356F31AD99517003FC87E /* BoilerplateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* BoilerplateTests.m */; }; - 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 */; }; 6A8B8815E2DB418E7A9ADB40 /* libPods-Boilerplate.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 41F925D6E74036F703711B79 /* libPods-Boilerplate.a */; }; - 7082F40EB17F3004BEB57E53 /* libPods-Boilerplate-BoilerplateTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F569F51895253125097E7A3 /* libPods-Boilerplate-BoilerplateTests.a */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; F571B3882BD7A3F80014213C /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = F571B3872BD7A3F80014213C /* PrivacyInfo.xcprivacy */; }; + F5DC7AB12D9D8A92004DB744 /* AppDelegade.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5DC7AB02D9D8A92004DB744 /* AppDelegade.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -29,23 +26,17 @@ /* Begin PBXFileReference section */ 00E356EE1AD99517003FC87E /* BoilerplateTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BoilerplateTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 00E356F21AD99517003FC87E /* BoilerplateTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BoilerplateTests.m; sourceTree = ""; }; 123CE870962A5F52DEB959B2 /* Pods-Boilerplate.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Boilerplate.release.xcconfig"; path = "Target Support Files/Pods-Boilerplate/Pods-Boilerplate.release.xcconfig"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* Boilerplate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Boilerplate.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Boilerplate/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = Boilerplate/AppDelegate.mm; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Boilerplate/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Boilerplate/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Boilerplate/main.m; sourceTree = ""; }; - 1E46634A0A68D4D5587E1986 /* Pods-Boilerplate-BoilerplateTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Boilerplate-BoilerplateTests.debug.xcconfig"; path = "Target Support Files/Pods-Boilerplate-BoilerplateTests/Pods-Boilerplate-BoilerplateTests.debug.xcconfig"; sourceTree = ""; }; 34625E75AEE813A48E176AF9 /* Pods-Boilerplate.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Boilerplate.debug.xcconfig"; path = "Target Support Files/Pods-Boilerplate/Pods-Boilerplate.debug.xcconfig"; sourceTree = ""; }; - 3BFC38D7D40F2117A89694A3 /* Pods-Boilerplate-BoilerplateTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Boilerplate-BoilerplateTests.release.xcconfig"; path = "Target Support Files/Pods-Boilerplate-BoilerplateTests/Pods-Boilerplate-BoilerplateTests.release.xcconfig"; sourceTree = ""; }; 41F925D6E74036F703711B79 /* libPods-Boilerplate.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Boilerplate.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = Boilerplate/LaunchScreen.storyboard; sourceTree = ""; }; - 9F569F51895253125097E7A3 /* libPods-Boilerplate-BoilerplateTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Boilerplate-BoilerplateTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; F571B3872BD7A3F80014213C /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + F5DC7AB02D9D8A92004DB744 /* AppDelegade.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegade.swift; sourceTree = ""; }; + F5DC7AB22D9D8AA1004DB744 /* Boilerplate-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Boilerplate-Bridging-Header.h"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -53,7 +44,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7082F40EB17F3004BEB57E53 /* libPods-Boilerplate-BoilerplateTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -68,33 +58,15 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00E356EF1AD99517003FC87E /* BoilerplateTests */ = { - isa = PBXGroup; - children = ( - 00E356F21AD99517003FC87E /* BoilerplateTests.m */, - 00E356F01AD99517003FC87E /* Supporting Files */, - ); - path = BoilerplateTests; - sourceTree = ""; - }; - 00E356F01AD99517003FC87E /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 00E356F11AD99517003FC87E /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; 13B07FAE1A68108700A75B9A /* Boilerplate */ = { isa = PBXGroup; children = ( + F5DC7AB02D9D8A92004DB744 /* AppDelegade.swift */, F571B3872BD7A3F80014213C /* PrivacyInfo.xcprivacy */, - 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, - 13B07FB71A68108700A75B9A /* main.m */, + F5DC7AB22D9D8AA1004DB744 /* Boilerplate-Bridging-Header.h */, ); name = Boilerplate; sourceTree = ""; @@ -104,7 +76,6 @@ children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, 41F925D6E74036F703711B79 /* libPods-Boilerplate.a */, - 9F569F51895253125097E7A3 /* libPods-Boilerplate-BoilerplateTests.a */, ); name = Frameworks; sourceTree = ""; @@ -121,7 +92,6 @@ children = ( 13B07FAE1A68108700A75B9A /* Boilerplate */, 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* BoilerplateTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, BBD78D7AC51CEA395F1C20DB /* Pods */, @@ -145,8 +115,6 @@ children = ( 34625E75AEE813A48E176AF9 /* Pods-Boilerplate.debug.xcconfig */, 123CE870962A5F52DEB959B2 /* Pods-Boilerplate.release.xcconfig */, - 1E46634A0A68D4D5587E1986 /* Pods-Boilerplate-BoilerplateTests.debug.xcconfig */, - 3BFC38D7D40F2117A89694A3 /* Pods-Boilerplate-BoilerplateTests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -158,12 +126,9 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "BoilerplateTests" */; buildPhases = ( - B65D8C17718DEF461EE316EF /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - 93DA718FB05BF2AF340302FC /* [CP] Embed Pods Frameworks */, - 732E6C8759D5B5A430C53FE0 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -210,7 +175,7 @@ TestTargetID = 13B07F861A680F5B00A75B9A; }; 13B07F861A680F5B00A75B9A = { - LastSwiftMigration = 1120; + LastSwiftMigration = 1620; }; }; }; @@ -270,23 +235,6 @@ shellPath = /bin/sh; shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; }; - 732E6C8759D5B5A430C53FE0 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Boilerplate-BoilerplateTests/Pods-Boilerplate-BoilerplateTests-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Boilerplate-BoilerplateTests/Pods-Boilerplate-BoilerplateTests-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Boilerplate-BoilerplateTests/Pods-Boilerplate-BoilerplateTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 747394660BF9D714835DF373 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -304,23 +252,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Boilerplate/Pods-Boilerplate-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 93DA718FB05BF2AF340302FC /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Boilerplate-BoilerplateTests/Pods-Boilerplate-BoilerplateTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Boilerplate-BoilerplateTests/Pods-Boilerplate-BoilerplateTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Boilerplate-BoilerplateTests/Pods-Boilerplate-BoilerplateTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; B62916F824A540865C895387 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -338,28 +269,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Boilerplate/Pods-Boilerplate-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - B65D8C17718DEF461EE316EF /* [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-Boilerplate-BoilerplateTests-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; - }; FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -408,7 +317,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 00E356F31AD99517003FC87E /* BoilerplateTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -416,8 +324,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, - 13B07FC11A68108700A75B9A /* main.m in Sources */, + F5DC7AB12D9D8A92004DB744 /* AppDelegade.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -434,7 +341,6 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1E46634A0A68D4D5587E1986 /* Pods-Boilerplate-BoilerplateTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -461,7 +367,6 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3BFC38D7D40F2117A89694A3 /* Pods-Boilerplate-BoilerplateTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; @@ -506,6 +411,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; "PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*]" = tcm.app.boilerplate; PRODUCT_NAME = Boilerplate; + SWIFT_OBJC_BRIDGING_HEADER = "Boilerplate-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; @@ -533,6 +439,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = Boilerplate; + SWIFT_OBJC_BRIDGING_HEADER = "Boilerplate-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; diff --git a/template/ios/Boilerplate/AppDelegade.swift b/template/ios/Boilerplate/AppDelegade.swift new file mode 100644 index 000000000..fdee9ceeb --- /dev/null +++ b/template/ios/Boilerplate/AppDelegade.swift @@ -0,0 +1,30 @@ +import UIKit +import React +import React_RCTAppDelegate +import ReactAppDependencyProvider + +@main +class AppDelegate: RCTAppDelegate { + override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + self.moduleName = "Boilerplate" + self.dependencyProvider = RCTAppDependencyProvider() + + // 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) + } + + override func sourceURL(for bridge: RCTBridge) -> URL? { + self.bundleURL() + } + + override func bundleURL() -> URL? { +#if DEBUG + RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index") +#else + Bundle.main.url(forResource: "main", withExtension: "jsbundle") +#endif + } +} diff --git a/template/ios/Boilerplate/AppDelegate.h b/template/ios/Boilerplate/AppDelegate.h deleted file mode 100644 index 5d2808256..000000000 --- a/template/ios/Boilerplate/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : RCTAppDelegate - -@end diff --git a/template/ios/Boilerplate/AppDelegate.mm b/template/ios/Boilerplate/AppDelegate.mm deleted file mode 100644 index 20ca1764f..000000000 --- a/template/ios/Boilerplate/AppDelegate.mm +++ /dev/null @@ -1,31 +0,0 @@ -#import "AppDelegate.h" - -#import - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - self.moduleName = @"Boilerplate"; - // You can add your custom initial props in the dictionary below. - // They will be passed down to the ViewController used by React Native. - self.initialProps = @{}; - - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge -{ - return [self bundleURL]; -} - -- (NSURL *)bundleURL -{ -#if DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; -#else - return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; -#endif -} - -@end diff --git a/template/ios/Boilerplate/main.m b/template/ios/Boilerplate/main.m deleted file mode 100644 index d645c7246..000000000 --- a/template/ios/Boilerplate/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/template/ios/BoilerplateTests/BoilerplateTests.m b/template/ios/BoilerplateTests/BoilerplateTests.m deleted file mode 100644 index a03d21382..000000000 --- a/template/ios/BoilerplateTests/BoilerplateTests.m +++ /dev/null @@ -1,66 +0,0 @@ -#import -#import - -#import -#import - -#define TIMEOUT_SECONDS 600 -#define TEXT_TO_LOOK_FOR @"Welcome to React" - -@interface BoilerplateTests : XCTestCase - -@end - -@implementation BoilerplateTests - -- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test -{ - if (test(view)) { - return YES; - } - for (UIView *subview in [view subviews]) { - if ([self findSubviewInView:subview matching:test]) { - return YES; - } - } - return NO; -} - -- (void)testRendersWelcomeScreen -{ - UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; - NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; - BOOL foundElement = NO; - - __block NSString *redboxError = nil; -#ifdef DEBUG - RCTSetLogFunction( - ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { - if (level >= RCTLogLevelError) { - redboxError = message; - } - }); -#endif - - while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { - [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; - [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; - - foundElement = [self findSubviewInView:vc.view - matching:^BOOL(UIView *view) { - if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { - return YES; - } - return NO; - }]; - } - -#ifdef DEBUG - RCTSetLogFunction(RCTDefaultLogFunction); -#endif - - XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); - XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); -} - -@end diff --git a/template/ios/BoilerplateTests/Info.plist b/template/ios/BoilerplateTests/Info.plist deleted file mode 100644 index ba72822e8..000000000 --- a/template/ios/BoilerplateTests/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/template/ios/Podfile b/template/ios/Podfile index be9c1c53c..d1221e1fa 100644 --- a/template/ios/Podfile +++ b/template/ios/Podfile @@ -23,11 +23,6 @@ target 'Boilerplate' do :app_path => "#{Pod::Config.instance.installation_root}/.." ) - target 'BoilerplateTests' 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( diff --git a/template/ios/Podfile.lock b/template/ios/Podfile.lock index 24c383df6..f6917199e 100644 --- a/template/ios/Podfile.lock +++ b/template/ios/Podfile.lock @@ -1,54 +1,58 @@ PODS: - boost (1.84.0) - DoubleConversion (1.1.6) - - FBLazyVector (0.76.1) - - fmt (9.1.0) + - fast_float (6.1.4) + - FBLazyVector (0.78.2) + - fmt (11.0.2) - glog (0.3.5) - - hermes-engine (0.76.0): - - hermes-engine/Pre-built (= 0.76.0) - - hermes-engine/Pre-built (0.76.0) - - RCT-Folly (2024.01.01.00): + - hermes-engine (0.78.2): + - hermes-engine/Pre-built (= 0.78.2) + - hermes-engine/Pre-built (0.78.2) + - RCT-Folly (2024.11.18.00): - boost - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - - RCT-Folly/Default (= 2024.01.01.00) - - RCT-Folly/Default (2024.01.01.00): + - RCT-Folly/Default (= 2024.11.18.00) + - RCT-Folly/Default (2024.11.18.00): - boost - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - - RCT-Folly/Fabric (2024.01.01.00): + - RCT-Folly/Fabric (2024.11.18.00): - boost - DoubleConversion - - fmt (= 9.1.0) - - glog - - RCTDeprecation (0.76.1) - - RCTRequired (0.76.1) - - RCTTypeSafety (0.76.1): - - FBLazyVector (= 0.76.1) - - RCTRequired (= 0.76.1) - - React-Core (= 0.76.1) - - React (0.76.1): - - React-Core (= 0.76.1) - - React-Core/DevSupport (= 0.76.1) - - React-Core/RCTWebSocket (= 0.76.1) - - React-RCTActionSheet (= 0.76.1) - - React-RCTAnimation (= 0.76.1) - - React-RCTBlob (= 0.76.1) - - React-RCTImage (= 0.76.1) - - React-RCTLinking (= 0.76.1) - - React-RCTNetwork (= 0.76.1) - - React-RCTSettings (= 0.76.1) - - React-RCTText (= 0.76.1) - - React-RCTVibration (= 0.76.1) - - React-callinvoker (0.76.1) - - React-Core (0.76.1): - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - RCTDeprecation (0.78.2) + - RCTRequired (0.78.2) + - RCTTypeSafety (0.78.2): + - FBLazyVector (= 0.78.2) + - RCTRequired (= 0.78.2) + - React-Core (= 0.78.2) + - React (0.78.2): + - React-Core (= 0.78.2) + - React-Core/DevSupport (= 0.78.2) + - React-Core/RCTWebSocket (= 0.78.2) + - React-RCTActionSheet (= 0.78.2) + - React-RCTAnimation (= 0.78.2) + - React-RCTBlob (= 0.78.2) + - React-RCTImage (= 0.78.2) + - React-RCTLinking (= 0.78.2) + - React-RCTNetwork (= 0.78.2) + - React-RCTSettings (= 0.78.2) + - React-RCTText (= 0.78.2) + - React-RCTVibration (= 0.78.2) + - React-callinvoker (0.78.2) + - React-Core (0.78.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - - React-Core/Default (= 0.76.1) + - React-Core/Default (= 0.78.2) - React-cxxreact - React-featureflags - React-hermes @@ -60,10 +64,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/CoreModulesHeaders (0.76.1): + - React-Core/CoreModulesHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -77,10 +81,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/Default (0.76.1): + - React-Core/Default (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-cxxreact - React-featureflags @@ -93,13 +97,13 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/DevSupport (0.76.1): + - React-Core/DevSupport (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - - React-Core/Default (= 0.76.1) - - React-Core/RCTWebSocket (= 0.76.1) + - React-Core/Default (= 0.78.2) + - React-Core/RCTWebSocket (= 0.78.2) - React-cxxreact - React-featureflags - React-hermes @@ -111,10 +115,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.76.1): + - React-Core/RCTActionSheetHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -128,10 +132,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTAnimationHeaders (0.76.1): + - React-Core/RCTAnimationHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -145,10 +149,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTBlobHeaders (0.76.1): + - React-Core/RCTBlobHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -162,10 +166,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTImageHeaders (0.76.1): + - React-Core/RCTImageHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -179,10 +183,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTLinkingHeaders (0.76.1): + - React-Core/RCTLinkingHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -196,10 +200,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTNetworkHeaders (0.76.1): + - React-Core/RCTNetworkHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -213,10 +217,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTSettingsHeaders (0.76.1): + - React-Core/RCTSettingsHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -230,10 +234,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTTextHeaders (0.76.1): + - React-Core/RCTTextHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -247,10 +251,10 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTVibrationHeaders (0.76.1): + - React-Core/RCTVibrationHeaders (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -264,12 +268,12 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTWebSocket (0.76.1): + - React-Core/RCTWebSocket (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - - React-Core/Default (= 0.76.1) + - React-Core/Default (= 0.78.2) - React-cxxreact - React-featureflags - React-hermes @@ -281,109 +285,108 @@ PODS: - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-CoreModules (0.76.1): - - DoubleConversion - - fmt (= 9.1.0) - - RCT-Folly (= 2024.01.01.00) - - RCTTypeSafety (= 0.76.1) - - React-Core/CoreModulesHeaders (= 0.76.1) - - React-jsi (= 0.76.1) + - React-CoreModules (0.78.2): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - RCT-Folly (= 2024.11.18.00) + - RCTTypeSafety (= 0.78.2) + - React-Core/CoreModulesHeaders (= 0.78.2) + - React-jsi (= 0.78.2) - React-jsinspector - React-NativeModulesApple - React-RCTBlob - - React-RCTImage (= 0.76.1) - - ReactCodegen + - React-RCTFBReactNativeSpec + - React-RCTImage (= 0.78.2) - ReactCommon - SocketRocket (= 0.7.1) - - React-cxxreact (0.76.1): + - React-cxxreact (0.78.2): - boost - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.76.1) - - React-debug (= 0.76.1) - - React-jsi (= 0.76.1) + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.78.2) + - React-debug (= 0.78.2) + - React-jsi (= 0.78.2) - React-jsinspector - - React-logger (= 0.76.1) - - React-perflogger (= 0.76.1) - - React-runtimeexecutor (= 0.76.1) - - React-timing (= 0.76.1) - - React-debug (0.76.1) - - React-defaultsnativemodule (0.76.1): - - DoubleConversion - - glog + - React-logger (= 0.78.2) + - React-perflogger (= 0.78.2) + - React-runtimeexecutor (= 0.78.2) + - React-timing (= 0.78.2) + - React-debug (0.78.2) + - React-defaultsnativemodule (0.78.2): - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug + - RCT-Folly - React-domnativemodule - - React-Fabric - - React-featureflags - React-featureflagsnativemodule - - React-graphics - React-idlecallbacksnativemodule - - React-ImageManager + - React-jsi + - React-jsiexecutor - React-microtasksnativemodule - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging + - React-RCTFBReactNativeSpec + - React-domnativemodule (0.78.2): + - hermes-engine + - RCT-Folly + - React-Fabric + - React-FabricComponents + - React-graphics + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - Yoga - - React-domnativemodule (0.76.1): + - React-Fabric (0.78.2): - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core + - React-cxxreact - React-debug - - React-Fabric - - React-FabricComponents + - React-Fabric/animations (= 0.78.2) + - React-Fabric/attributedstring (= 0.78.2) + - React-Fabric/componentregistry (= 0.78.2) + - React-Fabric/componentregistrynative (= 0.78.2) + - React-Fabric/components (= 0.78.2) + - React-Fabric/consistency (= 0.78.2) + - React-Fabric/core (= 0.78.2) + - React-Fabric/dom (= 0.78.2) + - React-Fabric/imagemanager (= 0.78.2) + - React-Fabric/leakchecker (= 0.78.2) + - React-Fabric/mounting (= 0.78.2) + - React-Fabric/observers (= 0.78.2) + - React-Fabric/scheduler (= 0.78.2) + - React-Fabric/telemetry (= 0.78.2) + - React-Fabric/templateprocessor (= 0.78.2) + - React-Fabric/uimanager (= 0.78.2) - React-featureflags - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric + - React-jsi + - React-jsiexecutor + - React-logger - React-rendererdebug + - React-runtimescheduler - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - Yoga - - React-Fabric (0.76.1): + - React-Fabric/animations (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/animations (= 0.76.1) - - React-Fabric/attributedstring (= 0.76.1) - - React-Fabric/componentregistry (= 0.76.1) - - React-Fabric/componentregistrynative (= 0.76.1) - - React-Fabric/components (= 0.76.1) - - React-Fabric/core (= 0.76.1) - - React-Fabric/dom (= 0.76.1) - - React-Fabric/imagemanager (= 0.76.1) - - React-Fabric/leakchecker (= 0.76.1) - - React-Fabric/mounting (= 0.76.1) - - React-Fabric/observers (= 0.76.1) - - React-Fabric/scheduler (= 0.76.1) - - React-Fabric/telemetry (= 0.76.1) - - React-Fabric/templateprocessor (= 0.76.1) - - React-Fabric/uimanager (= 0.76.1) - React-featureflags - React-graphics - React-jsi @@ -393,12 +396,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/animations (0.76.1): + - React-Fabric/attributedstring (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -413,12 +417,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/attributedstring (0.76.1): + - React-Fabric/componentregistry (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -433,12 +438,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistry (0.76.1): + - React-Fabric/componentregistrynative (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -453,17 +459,21 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistrynative (0.76.1): + - React-Fabric/components (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug + - React-Fabric/components/legacyviewmanagerinterop (= 0.78.2) + - React-Fabric/components/root (= 0.78.2) + - React-Fabric/components/view (= 0.78.2) - React-featureflags - React-graphics - React-jsi @@ -473,20 +483,18 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components (0.76.1): + - React-Fabric/components/legacyviewmanagerinterop (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.76.1) - - React-Fabric/components/root (= 0.76.1) - - React-Fabric/components/view (= 0.76.1) - React-featureflags - React-graphics - React-jsi @@ -496,12 +504,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/legacyviewmanagerinterop (0.76.1): + - React-Fabric/components/root (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -516,12 +525,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/root (0.76.1): + - React-Fabric/components/view (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -536,12 +546,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/view (0.76.1): + - Yoga + - React-Fabric/consistency (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -556,13 +568,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - Yoga - - React-Fabric/core (0.76.1): + - React-Fabric/core (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -577,12 +589,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/dom (0.76.1): + - React-Fabric/dom (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -597,12 +610,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/imagemanager (0.76.1): + - React-Fabric/imagemanager (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -617,12 +631,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/leakchecker (0.76.1): + - React-Fabric/leakchecker (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -637,12 +652,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/mounting (0.76.1): + - React-Fabric/mounting (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -657,18 +673,19 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/observers (0.76.1): + - React-Fabric/observers (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/observers/events (= 0.76.1) + - React-Fabric/observers/events (= 0.78.2) - React-featureflags - React-graphics - React-jsi @@ -678,12 +695,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/observers/events (0.76.1): + - React-Fabric/observers/events (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -698,12 +716,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/scheduler (0.76.1): + - React-Fabric/scheduler (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -720,12 +739,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/telemetry (0.76.1): + - React-Fabric/telemetry (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -740,12 +760,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/templateprocessor (0.76.1): + - React-Fabric/templateprocessor (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -760,18 +781,19 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager (0.76.1): + - React-Fabric/uimanager (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/uimanager/consistency (= 0.76.1) + - React-Fabric/uimanager/consistency (= 0.78.2) - React-featureflags - React-graphics - React-jsi @@ -782,12 +804,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager/consistency (0.76.1): + - React-Fabric/uimanager/consistency (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -803,20 +826,21 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-FabricComponents (0.76.1): + - React-FabricComponents (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components (= 0.76.1) - - React-FabricComponents/textlayoutmanager (= 0.76.1) + - React-FabricComponents/components (= 0.78.2) + - React-FabricComponents/textlayoutmanager (= 0.78.2) - React-featureflags - React-graphics - React-jsi @@ -825,30 +849,30 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components (0.76.1): + - React-FabricComponents/components (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.76.1) - - React-FabricComponents/components/iostextinput (= 0.76.1) - - React-FabricComponents/components/modal (= 0.76.1) - - React-FabricComponents/components/rncore (= 0.76.1) - - React-FabricComponents/components/safeareaview (= 0.76.1) - - React-FabricComponents/components/scrollview (= 0.76.1) - - React-FabricComponents/components/text (= 0.76.1) - - React-FabricComponents/components/textinput (= 0.76.1) - - React-FabricComponents/components/unimplementedview (= 0.76.1) + - React-FabricComponents/components/inputaccessory (= 0.78.2) + - React-FabricComponents/components/iostextinput (= 0.78.2) + - React-FabricComponents/components/modal (= 0.78.2) + - React-FabricComponents/components/rncore (= 0.78.2) + - React-FabricComponents/components/safeareaview (= 0.78.2) + - React-FabricComponents/components/scrollview (= 0.78.2) + - React-FabricComponents/components/text (= 0.78.2) + - React-FabricComponents/components/textinput (= 0.78.2) + - React-FabricComponents/components/unimplementedview (= 0.78.2) - React-featureflags - React-graphics - React-jsi @@ -857,15 +881,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/inputaccessory (0.76.1): + - React-FabricComponents/components/inputaccessory (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -880,15 +904,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/iostextinput (0.76.1): + - React-FabricComponents/components/iostextinput (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -903,15 +927,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/modal (0.76.1): + - React-FabricComponents/components/modal (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -926,15 +950,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/rncore (0.76.1): + - React-FabricComponents/components/rncore (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -949,15 +973,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/safeareaview (0.76.1): + - React-FabricComponents/components/safeareaview (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -972,15 +996,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/scrollview (0.76.1): + - React-FabricComponents/components/scrollview (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -995,15 +1019,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/text (0.76.1): + - React-FabricComponents/components/text (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1018,15 +1042,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/textinput (0.76.1): + - React-FabricComponents/components/textinput (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1041,15 +1065,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/unimplementedview (0.76.1): + - React-FabricComponents/components/unimplementedview (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1064,15 +1088,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/textlayoutmanager (0.76.1): + - React-FabricComponents/textlayoutmanager (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1087,92 +1111,71 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricImage (0.76.1): + - React-FabricImage (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) - - RCTRequired (= 0.76.1) - - RCTTypeSafety (= 0.76.1) + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired (= 0.78.2) + - RCTTypeSafety (= 0.78.2) - React-Fabric + - React-featureflags - React-graphics - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.76.1) + - React-jsiexecutor (= 0.78.2) - React-logger - React-rendererdebug - React-utils - ReactCommon - Yoga - - React-featureflags (0.76.1) - - React-featureflagsnativemodule (0.76.1): - - DoubleConversion - - glog + - React-featureflags (0.78.2): + - RCT-Folly (= 2024.11.18.00) + - React-featureflagsnativemodule (0.78.2): - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric + - RCT-Folly - React-featureflags - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - - Yoga - - React-graphics (0.76.1): + - React-graphics (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - - RCT-Folly/Fabric (= 2024.01.01.00) + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) - React-jsi - React-jsiexecutor - React-utils - - React-hermes (0.76.1): + - React-hermes (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.76.1) + - RCT-Folly (= 2024.11.18.00) + - React-cxxreact (= 0.78.2) - React-jsi - - React-jsiexecutor (= 0.76.1) + - React-jsiexecutor (= 0.78.2) - React-jsinspector - - React-perflogger (= 0.76.1) + - React-perflogger (= 0.78.2) - React-runtimeexecutor - - React-idlecallbacksnativemodule (0.76.1): - - DoubleConversion + - React-idlecallbacksnativemodule (0.78.2): - 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 + - RCT-Folly + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec - React-runtimescheduler - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - Yoga - - React-ImageManager (0.76.1): + - React-ImageManager (0.78.2): - glog - RCT-Folly/Fabric - React-Core/Default @@ -1181,72 +1184,65 @@ PODS: - React-graphics - React-rendererdebug - React-utils - - React-jserrorhandler (0.76.1): + - React-jserrorhandler (0.78.2): - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-cxxreact - React-debug + - React-featureflags - React-jsi - - React-jsi (0.76.1): + - ReactCommon/turbomodule/bridging + - React-jsi (0.78.2): - boost - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-jsiexecutor (0.76.1): + - RCT-Folly (= 2024.11.18.00) + - React-jsiexecutor (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.76.1) - - React-jsi (= 0.76.1) + - RCT-Folly (= 2024.11.18.00) + - React-cxxreact (= 0.78.2) + - React-jsi (= 0.78.2) - React-jsinspector - - React-perflogger (= 0.76.1) - - React-jsinspector (0.76.1): + - React-perflogger (= 0.78.2) + - React-jsinspector (0.78.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly - React-featureflags - React-jsi - - React-perflogger (= 0.76.1) - - React-runtimeexecutor (= 0.76.1) - - React-jsitracing (0.76.1): + - React-jsinspectortracing + - React-perflogger (= 0.78.2) + - React-runtimeexecutor (= 0.78.2) + - React-jsinspectortracing (0.78.2): + - RCT-Folly + - React-jsitracing (0.78.2): - React-jsi - - React-logger (0.76.1): + - React-logger (0.78.2): - glog - - React-Mapbuffer (0.76.1): + - React-Mapbuffer (0.78.2): - glog - React-debug - - React-microtasksnativemodule (0.76.1): - - DoubleConversion - - glog + - React-microtasksnativemodule (0.78.2): - 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 + - RCT-Folly + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - - Yoga - - react-native-mmkv (3.1.0): + - react-native-mmkv (3.2.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1263,11 +1259,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-safe-area-context (4.14.0): + - react-native-safe-area-context (5.3.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1276,8 +1272,8 @@ PODS: - React-featureflags - React-graphics - React-ImageManager - - react-native-safe-area-context/common (= 4.14.0) - - react-native-safe-area-context/fabric (= 4.14.0) + - react-native-safe-area-context/common (= 5.3.0) + - react-native-safe-area-context/fabric (= 5.3.0) - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1286,11 +1282,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-safe-area-context/common (4.14.0): + - react-native-safe-area-context/common (5.3.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1307,11 +1303,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-safe-area-context/fabric (4.14.0): + - react-native-safe-area-context/fabric (5.3.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1329,8 +1325,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - React-nativeconfig (0.76.1) - - React-NativeModulesApple (0.76.1): + - React-NativeModulesApple (0.78.2): - glog - hermes-engine - React-callinvoker @@ -1341,25 +1336,27 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.76.1): + - React-perflogger (0.78.2): - DoubleConversion - - RCT-Folly (= 2024.01.01.00) - - React-performancetimeline (0.76.1): - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) + - React-performancetimeline (0.78.2): + - RCT-Folly (= 2024.11.18.00) - React-cxxreact + - React-featureflags + - React-jsinspectortracing - React-timing - - React-RCTActionSheet (0.76.1): - - React-Core/RCTActionSheetHeaders (= 0.76.1) - - React-RCTAnimation (0.76.1): - - RCT-Folly (= 2024.01.01.00) + - React-RCTActionSheet (0.78.2): + - React-Core/RCTActionSheetHeaders (= 0.78.2) + - React-RCTAnimation (0.78.2): + - RCT-Folly (= 2024.11.18.00) - RCTTypeSafety - React-Core/RCTAnimationHeaders - React-jsi - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTAppDelegate (0.76.1): - - RCT-Folly (= 2024.01.01.00) + - React-RCTAppDelegate (0.78.2): + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1370,9 +1367,9 @@ PODS: - React-featureflags - React-graphics - React-hermes - - React-nativeconfig - React-NativeModulesApple - React-RCTFabric + - React-RCTFBReactNativeSpec - React-RCTImage - React-RCTNetwork - React-rendererdebug @@ -1381,25 +1378,25 @@ PODS: - React-RuntimeHermes - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon - - React-RCTBlob (0.76.1): + - React-RCTBlob (0.78.2): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - React-Core/RCTBlobHeaders - React-Core/RCTWebSocket - React-jsi - React-jsinspector - React-NativeModulesApple + - React-RCTFBReactNativeSpec - React-RCTNetwork - - ReactCodegen - ReactCommon - - React-RCTFabric (0.76.1): + - React-RCTFabric (0.78.2): - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-Core - React-debug - React-Fabric @@ -1410,7 +1407,7 @@ PODS: - React-ImageManager - React-jsi - React-jsinspector - - React-nativeconfig + - React-jsinspectortracing - React-performancetimeline - React-RCTImage - React-RCTText @@ -1419,62 +1416,74 @@ PODS: - React-runtimescheduler - React-utils - Yoga - - React-RCTImage (0.76.1): - - RCT-Folly (= 2024.01.01.00) + - React-RCTFBReactNativeSpec (0.78.2): + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - ReactCommon + - React-RCTImage (0.78.2): + - RCT-Folly (= 2024.11.18.00) - RCTTypeSafety - React-Core/RCTImageHeaders - React-jsi - React-NativeModulesApple + - React-RCTFBReactNativeSpec - React-RCTNetwork - - ReactCodegen - ReactCommon - - React-RCTLinking (0.76.1): - - React-Core/RCTLinkingHeaders (= 0.76.1) - - React-jsi (= 0.76.1) + - React-RCTLinking (0.78.2): + - React-Core/RCTLinkingHeaders (= 0.78.2) + - React-jsi (= 0.78.2) - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - ReactCommon/turbomodule/core (= 0.76.1) - - React-RCTNetwork (0.76.1): - - RCT-Folly (= 2024.01.01.00) + - ReactCommon/turbomodule/core (= 0.78.2) + - React-RCTNetwork (0.78.2): + - RCT-Folly (= 2024.11.18.00) - RCTTypeSafety - React-Core/RCTNetworkHeaders - React-jsi - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTSettings (0.76.1): - - RCT-Folly (= 2024.01.01.00) + - React-RCTSettings (0.78.2): + - RCT-Folly (= 2024.11.18.00) - RCTTypeSafety - React-Core/RCTSettingsHeaders - React-jsi - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTText (0.76.1): - - React-Core/RCTTextHeaders (= 0.76.1) + - React-RCTText (0.78.2): + - React-Core/RCTTextHeaders (= 0.78.2) - Yoga - - React-RCTVibration (0.76.1): - - RCT-Folly (= 2024.01.01.00) + - React-RCTVibration (0.78.2): + - RCT-Folly (= 2024.11.18.00) - React-Core/RCTVibrationHeaders - React-jsi - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - React-rendererconsistency (0.76.1) - - React-rendererdebug (0.76.1): + - React-rendererconsistency (0.78.2) + - React-rendererdebug (0.78.2): - DoubleConversion - - fmt (= 9.1.0) - - RCT-Folly (= 2024.01.01.00) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - RCT-Folly (= 2024.11.18.00) - React-debug - - React-rncore (0.76.1) - - React-RuntimeApple (0.76.1): + - React-rncore (0.78.2) + - React-RuntimeApple (0.78.2): - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-callinvoker - React-Core/Default - React-CoreModules - React-cxxreact + - React-featureflags - React-jserrorhandler - React-jsi - React-jsiexecutor @@ -1482,16 +1491,18 @@ PODS: - React-Mapbuffer - React-NativeModulesApple - React-RCTFabric + - React-RCTFBReactNativeSpec - React-RuntimeCore - React-runtimeexecutor - React-RuntimeHermes - React-runtimescheduler - React-utils - - React-RuntimeCore (0.76.1): + - React-RuntimeCore (0.78.2): - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-cxxreact + - React-Fabric - React-featureflags - React-jserrorhandler - React-jsi @@ -1501,23 +1512,22 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - React-runtimeexecutor (0.76.1): - - React-jsi (= 0.76.1) - - React-RuntimeHermes (0.76.1): + - React-runtimeexecutor (0.78.2): + - React-jsi (= 0.78.2) + - React-RuntimeHermes (0.78.2): - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-featureflags - React-hermes - React-jsi - React-jsinspector - React-jsitracing - - React-nativeconfig - React-RuntimeCore - React-utils - - React-runtimescheduler (0.76.1): + - React-runtimescheduler (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - React-callinvoker - React-cxxreact - React-debug @@ -1529,14 +1539,16 @@ PODS: - React-runtimeexecutor - React-timing - React-utils - - React-timing (0.76.1) - - React-utils (0.76.1): + - React-timing (0.78.2) + - React-utils (0.78.2): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - React-debug - - React-jsi (= 0.76.1) - - ReactCodegen (0.76.1): + - React-jsi (= 0.78.2) + - ReactAppDependencyProvider (0.78.2): + - ReactCodegen + - ReactCodegen (0.78.2): - DoubleConversion - glog - hermes-engine @@ -1552,55 +1564,59 @@ PODS: - React-jsi - React-jsiexecutor - React-NativeModulesApple + - React-RCTAppDelegate - React-rendererdebug - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - ReactCommon (0.76.1): - - ReactCommon/turbomodule (= 0.76.1) - - ReactCommon/turbomodule (0.76.1): - - DoubleConversion - - fmt (= 9.1.0) - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.76.1) - - React-cxxreact (= 0.76.1) - - React-jsi (= 0.76.1) - - React-logger (= 0.76.1) - - React-perflogger (= 0.76.1) - - ReactCommon/turbomodule/bridging (= 0.76.1) - - ReactCommon/turbomodule/core (= 0.76.1) - - ReactCommon/turbomodule/bridging (0.76.1): - - DoubleConversion - - fmt (= 9.1.0) - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.76.1) - - React-cxxreact (= 0.76.1) - - React-jsi (= 0.76.1) - - React-logger (= 0.76.1) - - React-perflogger (= 0.76.1) - - ReactCommon/turbomodule/core (0.76.1): - - DoubleConversion - - fmt (= 9.1.0) - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.76.1) - - React-cxxreact (= 0.76.1) - - React-debug (= 0.76.1) - - React-featureflags (= 0.76.1) - - React-jsi (= 0.76.1) - - React-logger (= 0.76.1) - - React-perflogger (= 0.76.1) - - React-utils (= 0.76.1) + - ReactCommon (0.78.2): + - ReactCommon/turbomodule (= 0.78.2) + - ReactCommon/turbomodule (0.78.2): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.78.2) + - React-cxxreact (= 0.78.2) + - React-jsi (= 0.78.2) + - React-logger (= 0.78.2) + - React-perflogger (= 0.78.2) + - ReactCommon/turbomodule/bridging (= 0.78.2) + - ReactCommon/turbomodule/core (= 0.78.2) + - ReactCommon/turbomodule/bridging (0.78.2): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.78.2) + - React-cxxreact (= 0.78.2) + - React-jsi (= 0.78.2) + - React-logger (= 0.78.2) + - React-perflogger (= 0.78.2) + - ReactCommon/turbomodule/core (0.78.2): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.78.2) + - React-cxxreact (= 0.78.2) + - React-debug (= 0.78.2) + - React-featureflags (= 0.78.2) + - React-jsi (= 0.78.2) + - React-logger (= 0.78.2) + - React-perflogger (= 0.78.2) + - React-utils (= 0.78.2) - RNCMaskedView (0.3.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1617,11 +1633,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNGestureHandler (2.20.2): + - RNGestureHandler (2.25.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1638,11 +1654,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNReanimated (3.16.1): + - RNReanimated (3.17.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1650,7 +1666,9 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1658,14 +1676,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNReanimated/reanimated (= 3.16.1) - - RNReanimated/worklets (= 3.16.1) + - RNReanimated/reanimated (= 3.17.2) + - RNReanimated/worklets (= 3.17.2) - Yoga - - RNReanimated/reanimated (3.16.1): + - RNReanimated/reanimated (3.17.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1673,7 +1691,9 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1681,13 +1701,13 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNReanimated/reanimated/apple (= 3.16.1) + - RNReanimated/reanimated/apple (= 3.17.2) - Yoga - - RNReanimated/reanimated/apple (3.16.1): + - RNReanimated/reanimated/apple (3.17.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1695,7 +1715,9 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1704,11 +1726,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNReanimated/worklets (3.16.1): + - RNReanimated/worklets (3.17.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1716,7 +1738,9 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1724,12 +1748,36 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - RNReanimated/worklets/apple (= 3.17.2) - Yoga - - RNScreens (4.0.0): + - RNReanimated/worklets/apple (3.17.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNScreens (4.10.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1746,13 +1794,13 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNScreens/common (= 4.0.0) + - RNScreens/common (= 4.10.0) - Yoga - - RNScreens/common (4.0.0): + - RNScreens/common (4.10.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1770,11 +1818,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNSVG (15.8.0): + - RNSVG (15.11.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1790,13 +1838,13 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNSVG/common (= 15.8.0) + - RNSVG/common (= 15.11.2) - Yoga - - RNSVG/common (15.8.0): + - RNSVG/common (15.11.2): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1819,6 +1867,7 @@ PODS: DEPENDENCIES: - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) @@ -1850,13 +1899,13 @@ DEPENDENCIES: - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) - react-native-mmkv (from `../node_modules/react-native-mmkv`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) @@ -1865,6 +1914,7 @@ DEPENDENCIES: - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - React-RCTFabric (from `../node_modules/react-native/React`) + - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`) - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) @@ -1881,6 +1931,7 @@ DEPENDENCIES: - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactAppDependencyProvider (from `build/generated/ios`) - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - "RNCMaskedView (from `../node_modules/@react-native-masked-view/masked-view`)" @@ -1899,6 +1950,8 @@ EXTERNAL SOURCES: :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" DoubleConversion: :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + fast_float: + :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" fmt: @@ -1907,7 +1960,7 @@ EXTERNAL SOURCES: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-2024-09-09-RNv0.76.0-db6d12e202e15f7a446d8848d6ca8f7abb3cfb32 + :tag: hermes-2025-01-13-RNv0.78.0-a942ef374897d85da38e9c8904574f8376555388 RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTDeprecation: @@ -1958,6 +2011,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" + React-jsinspectortracing: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" React-jsitracing: :path: "../node_modules/react-native/ReactCommon/hermes/executor/" React-logger: @@ -1970,8 +2025,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-mmkv" react-native-safe-area-context: :path: "../node_modules/react-native-safe-area-context" - React-nativeconfig: - :path: "../node_modules/react-native/ReactCommon" React-NativeModulesApple: :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: @@ -1988,6 +2041,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Blob" React-RCTFabric: :path: "../node_modules/react-native/React" + React-RCTFBReactNativeSpec: + :path: "../node_modules/react-native/React" React-RCTImage: :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: @@ -2020,6 +2075,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/react/timing" React-utils: :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactAppDependencyProvider: + :path: build/generated/ios ReactCodegen: :path: build/generated/ios ReactCommon: @@ -2040,76 +2097,79 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: 4cb898d0bf20404aab1850c656dcea009429d6c1 DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 - FBLazyVector: 7075bb12898bc3998fd60f4b7ca422496cc2cdf7 - fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 + fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6 + FBLazyVector: e32d34492c519a2194ec9d7f5e7a79d11b73f91c + fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd glog: 69ef571f3de08433d766d614c73a9838a06bf7eb - hermes-engine: 9de51d2f67336348a6cd5b686330e436d1dbd522 - RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 - RCTDeprecation: fde92935b3caa6cb65cbff9fbb7d3a9867ffb259 - RCTRequired: 75c6cee42d21c1530a6f204ba32ff57335d19007 - RCTTypeSafety: 7e6fe47bfb693c50d4669db1a480ca5331795f5b - React: 8e73704cdd5c7f801936776d2fc434c605a7827b - React-callinvoker: fa27d1e091e683de88f576e6a5d4efc171929a4c - React-Core: 948deed7fa720eeb0d901ff9e45c3719767dab5f - React-CoreModules: a11ba75f64245d12a0869203664a802c11594c43 - React-cxxreact: a5ce05f8a0a1398958523f948fce00d4c8ce38ff - React-debug: f474f5c202a277f76c81bf7cf26284f2c09880d7 - React-defaultsnativemodule: 41cc9a60277f1bec4b258df324e28705ac00b91a - React-domnativemodule: 4fe895d9e4aa99590700c5a5f9ff5706e9481ed7 - React-Fabric: bbdcc01a98528846efacf0767567a8e76df794bb - React-FabricComponents: ab8967c5898d88f37486df0eb0111384c498d821 - React-FabricImage: 7a06db59488b37f509dee73fa0b2811608a67058 - React-featureflags: 929732439d139ac0662e08f009f1a51ed2b91ed3 - React-featureflagsnativemodule: b88d53b6d63ee037c5cdefb9861edfd16b4afce1 - React-graphics: 6367275cc82d631c588a7146fd8dc69ec2f447e8 - React-hermes: b9bbe9c808d7ab1750ce089b243b03e4a099af63 - React-idlecallbacksnativemodule: 6fff2280f860f29a3c049695d3ef04c8f70212aa - React-ImageManager: 5b001b9e974f5ba81f0645d3d799e2a20c61d91e - React-jserrorhandler: 35e5e5a5a99b7b36c3802a2d12ca86889ed5982a - React-jsi: d0d8c4019fd91d0cb4b432f2518e08dc37433a13 - React-jsiexecutor: 1cdaf24e36919d899250938f0f6c79ec1a256923 - React-jsinspector: 2fabeadbd0eb1cbd83a6fc2026fb38c75b200947 - React-jsitracing: 7c7c89c963893efd25e0d04c23e854b9a93e0b7e - React-logger: 7b5b458327a1ff0d7e5a349430d1ed133dcebaa3 - React-Mapbuffer: 0d88ad9afa9e195dd7634424bde1d38e4129e646 - React-microtasksnativemodule: 17234f35d37e6ed388e18a6314210b3b9e051219 - react-native-mmkv: eca12be5e3400be2d995a2edaa3c6c2e67b5e3ec - react-native-safe-area-context: 819935871d06a80e963546208027f839aa972a85 - React-nativeconfig: 93fe8c85a8c40820c57814e30f3e44b94c995a7b - React-NativeModulesApple: a4457b73e63e983db66d66612160006bccb00ad5 - React-perflogger: 3140b7778984a486db80d4d2aeaa266cae4eb8c7 - React-performancetimeline: 41c100bc1299d7b150821b99cf26661c51ed9ab0 - React-RCTActionSheet: 9407c795fbeee35da2dae3cd6b5c4e5da6ff8bd3 - React-RCTAnimation: 48e5c6b541fd4c7a96c333e61974c3de34bbe849 - React-RCTAppDelegate: 602daadf2452a56ca54a6257052ddba89e680486 - React-RCTBlob: f67be4e0fbe51db1574aec402754054ab9c39668 - React-RCTFabric: ee6706069cbc4e1ffd5f23553e999a42b08414f7 - React-RCTImage: 57894a0e42502461d87449bec6cb0f124a49a93b - React-RCTLinking: abd71677bc3353327bec26b0ccd0a0c3960efa1c - React-RCTNetwork: 2e91efa49b63e54a9782922e5ca1d09ff2789341 - React-RCTSettings: fd13eebaa3f9af0b56a0ecb053b108e160fbfe07 - React-RCTText: 4cd7c87db1e1da51a96b86ce39c5468c1dbaae60 - React-RCTVibration: 579f64ceb06701eca3004a500169e1152c1ef7d2 - React-rendererconsistency: 5ef1c4642fd6365bf6d5d4e29a3ae02c3a1b8980 - React-rendererdebug: 8952e1ad914c680d4978916a9eed7c6dc85301d7 - React-rncore: 0e5394ce20a9d2bf12409d14395588c7b9e6e9ce - React-RuntimeApple: f5ed38fba1230713313e88e750dcad06948ba625 - React-RuntimeCore: 0fc488daf136f05d96349772828ccf64f66d6d2a - React-runtimeexecutor: ffac5f09795a5e881477e0d72a0fa6385456bed3 - React-RuntimeHermes: b8f395d41116c3bdf3373e87c39a856f69c3fff8 - React-runtimescheduler: 933c72afd4f285b2bb473c0de2482ee250f3e735 - React-timing: b3b233fe819d9e5b6ca32b605aa732621bdfa5aa - React-utils: 0c825829a8e2ca39bb049d95f270a2dbf39ecb05 - ReactCodegen: 3b0ff1c9015e3ebcf2bd2f8559995c74bfacf8a1 - ReactCommon: c21a3d6a8d3e98b6e99730139a52f59f0beea89d - RNCMaskedView: 8542667cb39fff458c1a1a3f9e70205042636129 - RNGestureHandler: 16ef3dc2d7ecb09f240f25df5255953c4098819b - RNReanimated: e01050e272623a49aba628de3dfd2b539b8cc4c6 - RNScreens: e6e9c91fc2507887016a184e00013a1240580b85 - RNSVG: 030717ff82ea8f2117347c2fcf52a2d1eafba9ba + hermes-engine: 2771b98fb813fdc6f92edd7c9c0035ecabf9fee7 + RCT-Folly: 36fe2295e44b10d831836cc0d1daec5f8abcf809 + RCTDeprecation: be794de7dc6ed8f9f7fbf525f86e7651b8b68746 + RCTRequired: a83787b092ec554c2eb6019ff3f5b8d125472b3b + RCTTypeSafety: 48ad3c858926b1c46f46a81a58822b476e178e2c + React: 3b5754191f1b65f1dbc52fbea7959c3d2d9e39c9 + React-callinvoker: 6beeaf4c7db11b6cc953fac45f2c76e3fb125013 + React-Core: 88e817c42de035378cc71e009193b9a044d3f595 + React-CoreModules: dcf764d71efb4f75d38fcae8d4513b6729f49360 + React-cxxreact: 8cdcc937c5fbc406fe843a381102fd69440ca78a + React-debug: 440175830c448e7e53e61ebb8d8468c3256b645e + React-defaultsnativemodule: 4824bcd7b96ee2d75c28b1ca21f58976867f5535 + React-domnativemodule: a421118b475618961cf282e8ea85347cc9bb453c + React-Fabric: 6ac7de06009eb96b609a770b17abba6e460b5f45 + React-FabricComponents: e3bc2680a5a9a4917ff0c8d7f390688c30ef753c + React-FabricImage: 8bad558dec7478077974caa96acc79692d6b71f5 + React-featureflags: b9cf9b35baca1c7f20c06a104ffc325a02752faa + React-featureflagsnativemodule: dc93d81da9f41f7132e24455ec8b4b60802fd5b0 + React-graphics: aaa5a38bea15d7b895b210d95d554af45a07002a + React-hermes: 08ad9fb832d1b9faef391be17309aa6a69fad23b + React-idlecallbacksnativemodule: aacea33ef6c511a9781f9286cc7cdf93f39bba14 + React-ImageManager: c596c3b658c9c14607f9183ed0f635c8dd77987c + React-jserrorhandler: 987609b2f16b7d79d63fcd621bf0110dd7400b35 + React-jsi: afa286d7e0c102c2478dc420d4f8935e13c973fc + React-jsiexecutor: 08f5b512b4db9e2f147416d60a0a797576b9cfef + React-jsinspector: 5a94bcae66e3637711c4d96a00038ab9ec935bf5 + React-jsinspectortracing: a12589a0adbb2703cbc4380dabe9a58800810923 + React-jsitracing: 0b1a403d7757cec66b7dd8b308d04db85eef75f3 + React-logger: 304814ae37503c8eb54359851cc55bd4f936b39c + React-Mapbuffer: b588d1ca18d2ce626f868f04ab12d8b1f004f12c + React-microtasksnativemodule: 11831d070aa47755bb5739069eb04ec621fec548 + react-native-mmkv: 55e8a074ae9cb919609755d7271c16b242c2603f + react-native-safe-area-context: 286b3e7b5589795bb85ffc38faf4c0706c48a092 + React-NativeModulesApple: 79a4404ac301b40bec3b367879c5e9a9ce81683c + React-perflogger: 0ea25c109dba33d47dec36b2634bf7ea67c1a555 + React-performancetimeline: f74480de6efbcd8541c34317c0baedb433f27296 + React-RCTActionSheet: 2ef95837e89b9b154f13cd8401f9054fc3076aff + React-RCTAnimation: 33d960d7f58a81779eea6dea47ad0364c67e1517 + React-RCTAppDelegate: 85c13403fd6f6b6cc630428d52bd8bd76a670dc9 + React-RCTBlob: 74c986a02d951931d2f6ed0e07ed5a7eb385bfc0 + React-RCTFabric: 384a8fea4f22fc0f21299d771971862883ba630a + React-RCTFBReactNativeSpec: eb1c3ec5149f76133593a516ff9d5efe32ebcecd + React-RCTImage: 2c58b5ddeb3c65e52f942bbe13ff9c59bd649b09 + React-RCTLinking: b6b14f8a3e62c02fc627ac4f3fb0c7bd941f907c + React-RCTNetwork: 1d050f2466c1541b339587d46f78d5eee218d626 + React-RCTSettings: 8148f6be0ccc0cfe6e313417ebf8a479caaa2146 + React-RCTText: 64114531ad1359e4e02a4a8af60df606dbbabc25 + React-RCTVibration: f4859417a7dd859b6bf18b1aba897e52beb72ef6 + React-rendererconsistency: 5ac4164ec18cfdd76ed5f864dbfdc56a5a948bc9 + React-rendererdebug: 3dc1d97bbee0c0c13191e501a96ed9325bbd920e + React-rncore: 0bace3b991d8843bb5b57c5f2301ec6e9c94718b + React-RuntimeApple: 1e1e0a0c6086bc8c3b07e8f1a2f6ca99b50419a0 + React-RuntimeCore: d39322c59bef2a4b343fda663d20649f29f57fcc + React-runtimeexecutor: 876dfc1d8daa819dfd039c40f78f277c5a3e66a6 + React-RuntimeHermes: 44f5f2baf039f249b31ea4f3e224484fd1731e0e + React-runtimescheduler: 3b3c5b50743bb8743ca49b9e5a70c2c385f156e1 + React-timing: 1ee3572c398f5579c9df5bf76aacddf5683ff74e + React-utils: 0cfb7c7fb37d4e5f31cc18ffc7426be0ae6bf907 + ReactAppDependencyProvider: b48473fe434569ff8f6cb6ed4421217ebcbda878 + ReactCodegen: 78b64f0ad96ef733616f54d0c20923f6c67287fd + ReactCommon: 547db015202a80a5b3e7e041586ea54c4a087180 + RNCMaskedView: 18c76ebdf9752bb75652829f99f6c3d1318cc864 + RNGestureHandler: 66e593addd8952725107cfaa4f5e3378e946b541 + RNReanimated: 1132f0ffe1d28ac76a227405ed16f037a6692008 + RNScreens: 0f01bbed9bd8045a8d58e4b46993c28c7f498f3c + RNSVG: 8588ee1ca9b2e6fd2c99466e35b3db0e9f81bb40 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - Yoga: db69236006b8b1c6d55ab453390c882306cbf219 + Yoga: e14bad835e12b6c7e2260fc320bd00e0f4b45add -PODFILE CHECKSUM: 4bea9319ee17db7a97dff3ce97baf62983342d1c +PODFILE CHECKSUM: 6a09e14355afff92fcfd8fa709eae581b249418d -COCOAPODS: 1.16.0 +COCOAPODS: 1.16.2 diff --git a/template/metro.config.js b/template/metro.config.js index c20b76c19..04fbea491 100644 --- a/template/metro.config.js +++ b/template/metro.config.js @@ -7,17 +7,17 @@ const { assetExts, sourceExts } = defaultConfig.resolver; * Metro configuration * https://reactnative.dev/docs/metro * - * @type {import('metro-config').MetroConfig} + * @type {import('@react-native/metro-config').MetroConfig} */ const config = { + resolver: { + assetExts: assetExts.filter((extension) => extension !== 'svg'), + sourceExts: [...sourceExts, 'svg'], + }, transformer: { babelTransformerPath: require.resolve('react-native-svg-transformer'), unstable_allowRequireContext: true, }, - resolver: { - sourceExts: [...sourceExts, 'svg'], - assetExts: assetExts.filter((ext) => ext !== 'svg'), - }, }; module.exports = mergeConfig(defaultConfig, config); diff --git a/template/package.json b/template/package.json index 77efd6cad..ff97aa988 100644 --- a/template/package.json +++ b/template/package.json @@ -13,72 +13,73 @@ "lint": "yarn lint:rules && yarn lint:code-format && yarn lint:type-check", "lint:fix": "yarn lint:rules --fix && yarn lint:code-format --write && yarn lint:type-check", "test:report": "jest --collectCoverage --coverageDirectory=\"./coverage\" --ci --reporters=default --reporters=jest-junit --coverage", - "pod-install": "npx pod-install", - "postinstall": "npx patch-package" + "pod-install": "npx pod-install" }, "dependencies": { - "@react-native-masked-view/masked-view": "^0.3.1", - "@react-navigation/native": "^6.1.18", - "@react-navigation/stack": "^6.4.1", - "@tanstack/react-query": "^5.59.8", - "i18next": "^23.15.2", + "@react-native-masked-view/masked-view": "^0.3.2", + "@react-navigation/native": "^7.1.1", + "@react-navigation/stack": "^7.2.5", + "@tanstack/react-query": "^5.71.3", + "i18next": "^24.2.3", "intl-pluralrules": "^2.0.1", - "ky": "^1.7.2", - "react": "18.3.1", - "react-error-boundary": "^4.0.13", - "react-i18next": "^15.0.2", - "react-native": "0.76.1", - "react-native-gesture-handler": "^2.20.0", - "react-native-mmkv": "^3.1.0", - "react-native-reanimated": "^3.15.4", - "react-native-safe-area-context": "^4.11.0", - "react-native-screens": "4.0.0", - "react-native-svg": "^15.7.1", - "zod": "^3.23.8" + "ky": "^1.8.0", + "react": "19.0.0", + "react-error-boundary": "^5.0.0", + "react-i18next": "^15.4.1", + "react-native": "0.78.2", + "react-native-gesture-handler": "^2.25.0", + "react-native-mmkv": "^3.2.0", + "react-native-reanimated": "^3.17.2", + "react-native-safe-area-context": "^5.3.0", + "react-native-screens": "4.10.0", + "react-native-svg": "^15.11.2", + "zod": "^3.24.2" }, "devDependencies": { "@babel/core": "^7.25.2", "@babel/preset-env": "^7.25.3", "@babel/runtime": "^7.26.10", - "@ianvs/prettier-plugin-sort-imports": "^4.3.1", - "@react-native-community/cli": "15.0.0", - "@react-native-community/cli-platform-android": "15.0.0", - "@react-native-community/cli-platform-ios": "15.0.0", - "@react-native/babel-preset": "0.76.1", - "@react-native/eslint-config": "0.76.1", - "@react-native/metro-config": "0.76.1", - "@react-native/typescript-config": "0.76.1", - "@testing-library/react-native": "^12.1.2", - "@types/jest": "^29.4.0", - "@types/node": "^18.14.1", - "@types/react": "^18.2.6", - "@types/react-test-renderer": "^18.0.0", - "babel-jest": "^29.6.3", + "@eslint/js": "^9.23.0", + "@react-native-community/cli": "15.0.1", + "@react-native-community/cli-platform-android": "15.0.1", + "@react-native-community/cli-platform-ios": "15.0.1", + "@react-native/babel-preset": "0.78.2", + "@react-native/eslint-config": "0.78.2", + "@react-native/metro-config": "0.78.2", + "@react-native/typescript-config": "0.78.2", + "@testing-library/react-native": "^13.2.0", + "@types/jest": "^29.5.13", + "@types/node": "^22.13.17", + "@types/react": "^19.0.0", + "@types/react-test-renderer": "^19.0.0", + "@typescript-eslint/parser": "^8.29.0", "babel-plugin-inline-dotenv": "^1.7.0", "babel-plugin-module-resolver": "^5.0.0", "babel-plugin-root-import": "^6.6.0", - "dotenv": "^16.3.1", - "eslint": "^8.56.0", + "dotenv": "^16.4.7", + "eslint": "^9.23.0", + "eslint-config-prettier": "^10.1.1", + "eslint-import-resolver-typescript": "^4.3.1", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jest": "^28.8.3", - "eslint-plugin-no-instanceof": "^1.0.1", - "eslint-plugin-perfectionist": "^3.9.1", - "eslint-plugin-react": "^7.37.1", - "eslint-plugin-react-hooks": "^5.0.0", - "eslint-plugin-testing-library": "^6.4.0", - "eslint-plugin-unicorn": "^56.0.0", + "eslint-plugin-jest": "^28.11.0", + "eslint-plugin-perfectionist": "^4.11.0", + "eslint-plugin-react": "^7.37.4", + "eslint-plugin-react-hooks": "^5.0.2", + "eslint-plugin-react-refresh": "^0.4.19", + "eslint-plugin-testing-library": "^7.1.1", + "eslint-plugin-unicorn": "^58.0.0", "eslint-plugin-unused-imports": "^4.1.4", "jest": "^29.7.0", - "prettier": "^3.3.3", + "prettier": "^3.5.3", "react-native-svg-transformer": "^1.5.0", - "react-test-renderer": "18.3.1", - "reactotron-react-native": "^5.1.9", - "reactotron-react-native-mmkv": "^0.2.7", + "react-test-renderer": "19.0.0", + "reactotron-react-native": "^5.1.12", + "reactotron-react-native-mmkv": "^0.2.8", "reactotron-react-query": "^1.0.4", - "typescript": "5.6.3", - "typescript-eslint": "^7.1.1" + "typescript": "^5.8.2", + "typescript-eslint": "^8.29.0" }, "engines": { - "node": ">=18" + "node": ">=20" } } diff --git a/template/patches/reactotron-core-client+2.9.3.patch b/template/patches/reactotron-core-client+2.9.3.patch deleted file mode 100644 index 029021ef6..000000000 --- a/template/patches/reactotron-core-client+2.9.3.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/reactotron-core-client/package.json b/node_modules/reactotron-core-client/package.json -index 92c5d75..a19bd44 100644 ---- a/node_modules/reactotron-core-client/package.json -+++ b/node_modules/reactotron-core-client/package.json -@@ -19,7 +19,7 @@ - "react-native": "src/index.ts", - "exports": { - "import": "./dist/index.esm.js", -- "react-native": "./src/index.ts", -+ "react-native": "./dist/index.js", - "types": "./dist/types/src/index.d.ts", - "default": "./dist/index.js" - }, diff --git a/template/src/App.tsx b/template/src/App.tsx index 4709ce38e..87eab7515 100644 --- a/template/src/App.tsx +++ b/template/src/App.tsx @@ -4,9 +4,8 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import { MMKV } from 'react-native-mmkv'; -import { ThemeProvider } from '@/theme'; import ApplicationNavigator from '@/navigation/Application'; - +import { ThemeProvider } from '@/theme'; import '@/translations'; export const queryClient = new QueryClient({ diff --git a/template/src/components/atoms/AssetByVariant/AssetByVariant.tsx b/template/src/components/atoms/AssetByVariant/AssetByVariant.tsx index fa20511e8..c6c2ef1a1 100644 --- a/template/src/components/atoms/AssetByVariant/AssetByVariant.tsx +++ b/template/src/components/atoms/AssetByVariant/AssetByVariant.tsx @@ -7,14 +7,14 @@ import { z } from 'zod'; import { useTheme } from '@/theme'; import getAssetsContext from '@/theme/assets/getAssetsContext'; -type Props = { - extension?: string; - path: string; +type Properties = { + readonly extension?: string; + readonly path: string; } & Omit; const images = getAssetsContext('images'); -function AssetByVariant({ extension = 'png', path, ...props }: Props) { +function AssetByVariant({ extension = 'png', path, ...props }: Properties) { const { variant } = useTheme(); const image = useMemo(() => { @@ -31,7 +31,6 @@ function AssetByVariant({ extension = 'png', path, ...props }: Props) { .custom() .parse(images(`./${variant}/${path}.${extension}`)); } catch (error) { - // eslint-disable-next-line no-console console.warn( `Couldn't load the image: ${path}.${extension} for the variant ${variant}, Fallback to default`, error, @@ -39,9 +38,8 @@ function AssetByVariant({ extension = 'png', path, ...props }: Props) { return getDefaultSource(); } } catch (error) { - // eslint-disable-next-line no-console console.error(`Couldn't load the image: ${path}`, error); - return null; + return undefined; } }, [path, extension, variant]); diff --git a/template/src/components/atoms/IconByVariant/IconByVariant.tsx b/template/src/components/atoms/IconByVariant/IconByVariant.tsx index c018892d3..39cfcb739 100644 --- a/template/src/components/atoms/IconByVariant/IconByVariant.tsx +++ b/template/src/components/atoms/IconByVariant/IconByVariant.tsx @@ -7,17 +7,23 @@ import { z } from 'zod'; import { useTheme } from '@/theme'; import getAssetsContext from '@/theme/assets/getAssetsContext'; -type Props = { - path: string; +type Properties = { + readonly path: string; } & SvgProps; const icons = getAssetsContext('icons'); const EXTENSION = 'svg'; +const SIZE = 24; -function IconByVariant({ height = 24, path, width = 24, ...props }: Props) { +function IconByVariant({ + height = SIZE, + path, + width = SIZE, + ...props +}: Properties) { const { variant } = useTheme(); - const iconProps = { ...props, height, width }; + const iconProperties = { ...props, height, width }; const Icon = useMemo(() => { try { const getDefaultSource = () => @@ -40,7 +46,6 @@ function IconByVariant({ height = 24, path, width = 24, ...props }: Props) { return fetchedModule.default; } catch (error) { - // eslint-disable-next-line no-console console.warn( `Couldn't load the icon: ${path}.${EXTENSION} for the variant ${variant}, Fallback to default`, error, @@ -48,13 +53,12 @@ function IconByVariant({ height = 24, path, width = 24, ...props }: Props) { return getDefaultSource(); } } catch (error) { - // eslint-disable-next-line no-console console.error(`Couldn't load the icon: ${path}.${EXTENSION}`, error); throw error; } }, [variant, path]); - return ; + return ; } export default IconByVariant; diff --git a/template/src/components/atoms/Skeleton/Skeleton.test.tsx b/template/src/components/atoms/Skeleton/Skeleton.test.tsx index 5e4f62023..7911ff642 100644 --- a/template/src/components/atoms/Skeleton/Skeleton.test.tsx +++ b/template/src/components/atoms/Skeleton/Skeleton.test.tsx @@ -1,10 +1,11 @@ +import TestAppWrapper from '@/../__mocks__/TestAppWrapper'; import { render } from '@testing-library/react-native'; import { Text } from 'react-native'; -import TestAppWrapper from '@/../__mocks__/TestAppWrapper'; - import SkeletonLoader from './Skeleton'; +const WAIT = 800; + describe('SkeletonLoader', () => { beforeAll(() => { jest.useFakeTimers(); @@ -27,7 +28,7 @@ describe('SkeletonLoader', () => { wrapper: TestAppWrapper, }); const skeleton = getByTestId('skeleton-loader'); - jest.advanceTimersByTime(800); + jest.advanceTimersByTime(WAIT); expect(skeleton).toBeTruthy(); }); @@ -37,17 +38,23 @@ describe('SkeletonLoader', () => { { wrapper: TestAppWrapper }, ); const skeleton = getByTestId('skeleton-loader'); + + const animatedStyle: { + value: { opacity: number }; + } = skeleton.props.jestAnimatedStyle as { + value: { opacity: number }; + }; // TODO: use toHaveAnimatedStyle for better API but for now there is an issue with the library // expect(skeleton).toHaveAnimatedStyle({ // opacity: 0.2, // }); - expect(skeleton.props.jestAnimatedStyle.value).toEqual({ + expect(animatedStyle.value).toEqual({ opacity: 0.2, }); - jest.advanceTimersByTime(800); - expect(skeleton.props.jestAnimatedStyle.value).toEqual({ + jest.advanceTimersByTime(WAIT); + expect(animatedStyle.value).toEqual({ opacity: 1, }); // TODO: use toHaveAnimatedStyle for better API but for now there is an issue with the library diff --git a/template/src/components/atoms/Skeleton/Skeleton.tsx b/template/src/components/atoms/Skeleton/Skeleton.tsx index a178e3d44..24f90daa2 100644 --- a/template/src/components/atoms/Skeleton/Skeleton.tsx +++ b/template/src/components/atoms/Skeleton/Skeleton.tsx @@ -11,22 +11,23 @@ import Animated, { import { useTheme } from '@/theme'; -type Props = { - height?: DimensionValue; - loading?: boolean; - width?: DimensionValue; +type Properties = { + readonly height?: DimensionValue; + readonly loading?: boolean; + readonly width?: DimensionValue; } & ViewProps; const FROM = 0.2; const TO = 1; +const HEIGHT = 24; function SkeletonLoader({ children, - height = 24, + height = HEIGHT, loading = false, width = '100%', ...props -}: Props) { +}: Properties) { const { backgrounds, borders } = useTheme(); const opacity = useSharedValue(FROM); diff --git a/template/src/components/molecules/DefaultError/DefaultError.tsx b/template/src/components/molecules/DefaultError/DefaultError.tsx index 381bf618d..d9c1900de 100644 --- a/template/src/components/molecules/DefaultError/DefaultError.tsx +++ b/template/src/components/molecules/DefaultError/DefaultError.tsx @@ -6,11 +6,11 @@ import { useTheme } from '@/theme'; import { IconByVariant } from '@/components/atoms'; -type Props = { - onReset?: () => void; +type Properties = { + readonly onReset?: () => void; }; -function DefaultErrorScreen({ onReset = undefined }: Props) { +function DefaultErrorScreen({ onReset = undefined }: Properties) { const { colors, fonts, gutters, layout } = useTheme(); const { t } = useTranslation(); const { resetBoundary } = useErrorBoundary(); @@ -38,18 +38,18 @@ function DefaultErrorScreen({ onReset = undefined }: Props) { {t('error_boundary.description')} - {onReset && ( + {onReset ? ( { resetBoundary(); - onReset?.(); + onReset(); }} > {t('error_boundary.cta')} - )} + ) : undefined} ); } diff --git a/template/src/components/organisms/ErrorBoundary/ErrorBoundary.tsx b/template/src/components/organisms/ErrorBoundary/ErrorBoundary.tsx index 00b93fd53..a060460e8 100644 --- a/template/src/components/organisms/ErrorBoundary/ErrorBoundary.tsx +++ b/template/src/components/organisms/ErrorBoundary/ErrorBoundary.tsx @@ -7,8 +7,8 @@ import { DefaultError } from '@/components/molecules'; type Optional = Omit & Pick, K>; -type Props = { - onReset?: () => void; +type Properties = { + readonly onReset?: () => void; } & Optional; function ErrorBoundary({ @@ -16,7 +16,7 @@ function ErrorBoundary({ onError, onReset = undefined, ...props -}: Props) { +}: Properties) { const onErrorReport = (error: Error, info: ErrorInfo) => { // use any crash reporting tool here return onError?.(error, info); @@ -25,7 +25,7 @@ function ErrorBoundary({ return ( } + fallback={fallback ?? } onError={onErrorReport} /> ); diff --git a/template/src/components/templates/SafeScreen/SafeScreen.tsx b/template/src/components/templates/SafeScreen/SafeScreen.tsx index 40af2086c..40763d1ea 100644 --- a/template/src/components/templates/SafeScreen/SafeScreen.tsx +++ b/template/src/components/templates/SafeScreen/SafeScreen.tsx @@ -9,10 +9,10 @@ import { useTheme } from '@/theme'; import { DefaultError } from '@/components/molecules'; import { ErrorBoundary } from '@/components/organisms'; -type Props = PropsWithChildren< +type Properties = PropsWithChildren< { - isError?: boolean; - onResetError?: () => void; + readonly isError?: boolean; + readonly onResetError?: () => void; } & Omit >; @@ -22,7 +22,7 @@ function SafeScreen({ onResetError = undefined, style, ...props -}: Props) { +}: Properties) { const { layout, navigationTheme, variant } = useTheme(); return ( diff --git a/template/src/hooks/language/useI18n.ts b/template/src/hooks/language/useI18n.ts index c53dc80e0..1ae2ef315 100644 --- a/template/src/hooks/language/useI18n.ts +++ b/template/src/hooks/language/useI18n.ts @@ -3,12 +3,12 @@ import i18next from 'i18next'; import { SupportedLanguages } from './schema'; const changeLanguage = (lang: SupportedLanguages) => { - i18next.changeLanguage(lang); + void i18next.changeLanguage(lang); }; const toggleLanguage = () => { - i18next.changeLanguage( - i18next.language === SupportedLanguages.EN_EN + void i18next.changeLanguage( + i18next.language === (SupportedLanguages.EN_EN as string) ? SupportedLanguages.FR_FR : SupportedLanguages.EN_EN, ); diff --git a/template/src/navigation/Application.tsx b/template/src/navigation/Application.tsx index dfb1d2a6e..b8c84b397 100644 --- a/template/src/navigation/Application.tsx +++ b/template/src/navigation/Application.tsx @@ -4,8 +4,8 @@ import { NavigationContainer } from '@react-navigation/native'; import { createStackNavigator } from '@react-navigation/stack'; import { SafeAreaProvider } from 'react-native-safe-area-context'; -import { useTheme } from '@/theme'; import { Paths } from '@/navigation/paths'; +import { useTheme } from '@/theme'; import { Example, Startup } from '@/screens'; diff --git a/template/src/navigation/types.ts b/template/src/navigation/types.ts index 98375edcd..bf71a62a5 100644 --- a/template/src/navigation/types.ts +++ b/template/src/navigation/types.ts @@ -1,11 +1,11 @@ -import type { StackScreenProps } from '@react-navigation/stack'; import type { Paths } from '@/navigation/paths'; +import type { StackScreenProps } from '@react-navigation/stack'; + +export type RootScreenProps< + S extends keyof RootStackParamList = keyof RootStackParamList, +> = StackScreenProps; export type RootStackParamList = { [Paths.Example]: undefined; [Paths.Startup]: undefined; }; - -export type RootScreenProps< - S extends keyof RootStackParamList = keyof RootStackParamList, -> = StackScreenProps; diff --git a/template/src/screens/Example/Example.test.tsx b/template/src/screens/Example/Example.test.tsx index eed20d3f2..d75d6a035 100644 --- a/template/src/screens/Example/Example.test.tsx +++ b/template/src/screens/Example/Example.test.tsx @@ -4,8 +4,8 @@ import { I18nextProvider } from 'react-i18next'; import { MMKV } from 'react-native-mmkv'; import { SafeAreaProvider } from 'react-native-safe-area-context'; -import { ThemeProvider } from '@/theme'; import { SupportedLanguages } from '@/hooks/language/schema'; +import { ThemeProvider } from '@/theme'; import i18n from '@/translations'; import Example from './Example'; diff --git a/template/src/screens/Example/Example.tsx b/template/src/screens/Example/Example.tsx index 34cdc0390..12fc01574 100644 --- a/template/src/screens/Example/Example.tsx +++ b/template/src/screens/Example/Example.tsx @@ -2,12 +2,14 @@ import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Alert, ScrollView, Text, TouchableOpacity, View } from 'react-native'; -import { useTheme } from '@/theme'; import { useI18n, useUser } from '@/hooks'; +import { useTheme } from '@/theme'; import { AssetByVariant, IconByVariant, Skeleton } from '@/components/atoms'; import { SafeScreen } from '@/components/templates'; +const MAX_RANDOM_ID = 9; + function Example() { const { t } = useTranslation(); const { useFetchOneQuery } = useUser(); @@ -40,10 +42,16 @@ function Example() { changeTheme(variant === 'default' ? 'dark' : 'default'); }; + const handleResetError = () => { + void fetchOneUserQuery.refetch(); + }; + return ( { + handleResetError(); + }} > @@ -93,11 +101,13 @@ function Example() { width={64} > setCurrentId(Math.ceil(Math.random() * 9 + 1))} + onPress={() => { + setCurrentId(Math.ceil(Math.random() * MAX_RANDOM_ID + 1)); + }} style={[components.buttonCircle, gutters.marginBottom_16]} testID="fetch-user-button" > - + @@ -106,7 +116,7 @@ function Example() { style={[components.buttonCircle, gutters.marginBottom_16]} testID="change-theme-button" > - + - + diff --git a/template/src/screens/Startup/Startup.tsx b/template/src/screens/Startup/Startup.tsx index b05a567ae..f8cb2a785 100644 --- a/template/src/screens/Startup/Startup.tsx +++ b/template/src/screens/Startup/Startup.tsx @@ -5,8 +5,8 @@ import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { ActivityIndicator, Text, View } from 'react-native'; -import { useTheme } from '@/theme'; import { Paths } from '@/navigation/paths'; +import { useTheme } from '@/theme'; import { AssetByVariant } from '@/components/atoms'; import { SafeScreen } from '@/components/templates'; @@ -42,16 +42,16 @@ function Startup({ navigation }: RootScreenProps) { ]} > - {isFetching && ( + {isFetching ? ( - )} - {isError && ( + ) : undefined} + {isError ? ( {t('common_error')} - )} + ) : undefined} ); diff --git a/template/src/services/instance.ts b/template/src/services/instance.ts index 44d355ccf..bcd4c0429 100644 --- a/template/src/services/instance.ts +++ b/template/src/services/instance.ts @@ -1,6 +1,6 @@ import ky from 'ky'; -const prefixUrl = `${process.env.API_URL ? process.env.API_URL : ''}/`; +const prefixUrl = `${process.env.API_URL ?? ''}/`; export const instance = ky.extend({ headers: { diff --git a/template/src/theme/ThemeProvider/ThemeProvider.test.tsx b/template/src/theme/ThemeProvider/ThemeProvider.test.tsx index d1454b99e..74ac926e0 100644 --- a/template/src/theme/ThemeProvider/ThemeProvider.test.tsx +++ b/template/src/theme/ThemeProvider/ThemeProvider.test.tsx @@ -10,7 +10,9 @@ function TestChildComponent() { {variant}