Closed kopax-polyconseil closed 1 year ago
We also have performed the following which was not in the upgrade guide documentation
@types/react
, @types/react-dom
and @types/react-native
not done within the upgrade.react-native-screen
to support RN 0.70+@react-native-async-storage/async-storage
to support RN 0.70+build.gradle
(instead of hermes-engine
not being in node_modules anymore)MainActivity.java
all BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
with false
Android
MainActivity.java:71: error: cannot find symbol BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
:/home/dka/workspace/github.com/pass-culture/pass-culture-app-native/android/app/src/main/java/com/passculture/MainActivity.java:63: error: cannot find symbol
reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED);
^
symbol: variable IS_NEW_ARCHITECTURE_ENABLED
location: class BuildConfig
/home/dka/workspace/github.com/pass-culture/pass-culture-app-native/android/app/src/main/java/com/passculture/MainActivity.java:71: error: cannot find symbol
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
^
symbol: variable IS_NEW_ARCHITECTURE_ENABLED
location: class BuildConfig
Note: /home/dka/workspace/github.com/pass-culture/pass-culture-app-native/android/app/src/debug/java/com/passculture/ReactNativeFlipper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors
FAILURE: Build completed with 2 failures.
Fixed with replace all BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
with false
android/app/build.gradle
: medium -> fixed β οΈ <- it seems we don't need to do change if we don't enable new architecture
That's not correct. You need to apply all the changes inside the android/app/build.gradle
regardless of you using the New Architecture or not. That's also the reason why your Android app is failing to build with error: cannot find symbol BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
android/app/build.gradle
: medium -> fixed warning <- it seems we don't need to do change if we don't enable new architectureThat's not correct. You need to apply all the changes inside the
android/app/build.gradle
regardless of you using the New Architecture or not. That's also the reason why your Android app is failing to build witherror: cannot find symbol BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
We will take that in consideration, it needs we have to go back in previous upgrade. And add all those files first.
We also encounter a bunch of difficulties with the typing, due to @types/react
being present twice, exemple:
'View' cannot be used as a JSX component.
Its instance type 'View' is not a valid JSX element. TS2786
This is how react
, @types/react
, react-native
, @types/react-native
are used among our dependencies
and devDependencies
:
dka@dka:[~/workspace/github.com/pass-culture/pass-culture-app-native (PC-17344)]: npm ls @types/react-native
PassCulture@1.217.2 /home/dka/workspace/github.com/pass-culture/pass-culture-app-native
βββ¬ @types/react-native-calendars@1.1264.3
β βββ @types/react-native@0.66.8
βββ @types/react-native@0.70.8
βββ¬ @types/styled-components-react-native@5.2.0
βββ @types/react-native@0.66.8
dka@dka:[~/workspace/github.com/pass-culture/pass-culture-app-native (PC-17344)]: npm ls @types/react
PassCulture@1.217.2 /home/dka/workspace/github.com/pass-culture/pass-culture-app-native
βββ¬ @storybook/addon-interactions@6.5.14
β βββ¬ @devtools-ds/object-inspector@1.2.0
β βββ¬ @devtools-ds/themes@1.2.0
β βββ¬ @design-systems/utils@2.12.0
β βββ @types/react@18.0.26 deduped
βββ¬ @types/react-dom@18.0.9
β βββ @types/react@17.0.37
βββ¬ @types/react-helmet@6.1.6
β βββ @types/react@17.0.37
βββ¬ @types/react-native-calendars@1.1264.3
β βββ¬ @types/react-native@0.66.8
β β βββ @types/react@17.0.37 deduped
β βββ @types/react@17.0.37
βββ¬ @types/react-native@0.70.8
β βββ @types/react@17.0.37
βββ¬ @types/react-test-renderer@18.0.0
β βββ @types/react@17.0.37
βββ @types/react@18.0.26
βββ¬ @types/styled-components-react-native@5.2.0
β βββ¬ @types/react-native@0.66.8
β β βββ @types/react@17.0.37 deduped
β βββ @types/react@17.0.37
β βββ¬ @types/styled-components@5.1.17
β βββ @types/react@17.0.37 deduped
βββ¬ @types/styled-components@5.1.26
βββ¬ @types/hoist-non-react-statics@3.3.1
β βββ @types/react@17.0.37
βββ @types/react@17.0.37
dka@dka:[~/workspace/github.com/pass-culture/pass-culture-app-native (PC-17344)]: npm ls react-native
PassCulture@1.217.2 /home/dka/workspace/github.com/pass-culture/pass-culture-app-native
βββ¬ @amplitude/react-native@2.7.0
β βββ react-native@0.70.6 deduped
βββ¬ @batch.com/react-native-plugin@8.1.0
β βββ react-native@0.70.6 deduped
βββ¬ @ptomasroos/react-native-multi-slider@2.2.2
β βββ react-native@0.70.6 deduped
βββ¬ @react-native-async-storage/async-storage@1.17.11
β βββ react-native@0.70.6 deduped
βββ¬ @react-native-community/netinfo@9.0.0
β βββ react-native@0.70.6 deduped
βββ¬ @react-native-firebase/app@14.9.0
β βββ react-native@0.70.6 deduped
βββ¬ @react-navigation/bottom-tabs@6.0.9
β βββ¬ @react-navigation/elements@1.2.1
β β βββ react-native@0.70.6 deduped
β βββ react-native@0.70.6 deduped
βββ¬ @react-navigation/native@6.0.6
β βββ react-native@0.70.6 deduped
βββ¬ @react-navigation/stack@6.0.11
β βββ react-native@0.70.6 deduped
βββ¬ @sentry/react-native@4.2.2
β βββ react-native@0.70.6 deduped
βββ¬ @shopify/flash-list@1.2.1
β βββ react-native@0.70.6 deduped
β βββ¬ recyclerlistview@4.1.2 invalid: "^3.0.5" from node_modules/react-native-calendars
β βββ react-native@0.70.6 deduped
βββ¬ @testing-library/react-native@10.1.1
β βββ react-native@0.70.6 deduped
βββ¬ lottie-react-native@5.1.3
β βββ¬ react-native-safe-modules@1.0.3
β β βββ react-native@0.70.6 deduped
β βββ react-native@0.70.6 deduped
βββ¬ react-native-country-picker-modal@2.0.0
β βββ react-native@0.70.6 deduped
βββ¬ react-native-device-info@8.4.8
β βββ react-native@0.70.6 deduped
βββ¬ react-native-email-link@1.12.2
β βββ react-native@0.70.6 deduped
βββ¬ react-native-fast-image@8.5.11
β βββ react-native@0.70.6 deduped
βββ¬ react-native-flipper@0.123.0
β βββ react-native@0.70.6 deduped
βββ¬ react-native-get-random-values@1.7.1
β βββ react-native@0.70.6 deduped
βββ¬ react-native-launch-navigator@1.0.8
β βββ react-native@0.70.6 deduped
βββ¬ react-native-linear-gradient@2.5.6
β βββ react-native@0.70.6 deduped
βββ¬ react-native-lottie-splash-screen@1.0.1
β βββ react-native@0.70.6 deduped
βββ¬ react-native-modal@13.0.0
β βββ react-native@0.70.6 deduped
βββ¬ react-native-permissions@3.5.0
β βββ react-native@0.70.6 deduped
βββ¬ react-native-qrcode-svg@6.1.2
β βββ react-native@0.70.6 deduped
βββ¬ react-native-safe-area-context@3.3.2
β βββ react-native@0.70.6 deduped
βββ¬ react-native-screens@3.18.2
β βββ react-native@0.70.6 deduped
βββ¬ react-native-svg@12.1.1
β βββ react-native@0.70.6 deduped
βββ¬ react-native-tracking-transparency@0.1.1
β βββ react-native@0.70.6 deduped
βββ¬ react-native-url-polyfill@1.3.0
β βββ react-native@0.70.6 deduped
βββ¬ react-native-web-swiper@2.2.1
β βββ react-native@0.70.6 deduped
βββ¬ react-native-webview@11.23.0
β βββ react-native@0.70.6 deduped
βββ react-native@0.70.6
dka@dka:[~/workspace/github.com/pass-culture/pass-culture-app-native (PC-17344)]: npm ls react
PassCulture@1.217.2 /home/dka/workspace/github.com/pass-culture/pass-culture-app-native
βββ¬ @amplitude/react-native@2.7.0
β βββ react@18.2.0 deduped
βββ¬ @chanzuckerberg/axe-storybook-testing@6.2.0
β βββ¬ @storybook/preview-web@6.5.14
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
βββ¬ @ptomasroos/react-native-multi-slider@2.2.2
β βββ react@18.2.0 deduped
βββ¬ @react-native-firebase/app@14.9.0
β βββ react@18.2.0 deduped
βββ¬ @react-navigation/bottom-tabs@6.0.9
β βββ¬ @react-navigation/elements@1.2.1
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
β βββ react@18.2.0 deduped
βββ¬ @react-navigation/native@6.0.6
β βββ¬ @react-navigation/core@6.1.0
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
β βββ react@18.2.0 deduped
βββ¬ @react-navigation/stack@6.0.11
β βββ react@18.2.0 deduped
βββ¬ @sentry/react-native@4.2.2
β βββ¬ @sentry/react@7.7.0
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
β βββ react@18.2.0 deduped
βββ¬ @sentry/react@7.8.1
β βββ react@18.2.0 deduped
βββ¬ @shopify/flash-list@1.2.1
β βββ react@18.2.0 deduped
β βββ¬ recyclerlistview@4.1.2 invalid: "^3.0.5" from node_modules/react-native-calendars
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
βββ¬ @storybook/addon-a11y@6.5.14
β βββ¬ @storybook/addons@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
β βββ¬ @storybook/api@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
β βββ¬ @storybook/components@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
β βββ¬ @storybook/theming@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
β βββ react@18.2.0 deduped
βββ¬ @storybook/addon-actions@6.5.14
β βββ¬ react-inspector@5.1.1
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ react@18.2.0 deduped
βββ¬ @storybook/addon-essentials@6.5.14
β βββ¬ @storybook/addon-backgrounds@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/addon-controls@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/addon-docs@6.5.14
β β βββ¬ @mdx-js/react@1.6.22
β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β βββ¬ @storybook/source-loader@6.5.14
β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/addon-measure@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/addon-outline@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/addon-toolbars@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/addon-viewport@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/core-common@6.5.14
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
βββ¬ @storybook/addon-interactions@6.5.14
β βββ¬ @devtools-ds/object-inspector@1.2.0
β β βββ¬ @devtools-ds/themes@1.2.0
β β β βββ¬ @design-systems/utils@2.12.0
β β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β βββ¬ @devtools-ds/tree@1.2.0
β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/addons@6.5.9 invalid: "6.5.14" from node_modules/@storybook/addon-interactions
β β βββ¬ @storybook/router@6.5.9
β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/api@6.5.9 invalid: "6.5.14" from node_modules/@storybook/addon-interactions
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/components@6.5.9 invalid: "6.5.14" from node_modules/@storybook/addon-interactions
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/core-common@6.5.9 invalid: "6.5.14" from node_modules/@storybook/addon-interactions
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/theming@6.5.9 invalid: "6.5.14" from node_modules/@storybook/addon-interactions
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ react@18.2.0 deduped
βββ¬ @storybook/addon-links@6.5.14
β βββ¬ @storybook/router@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ react@18.2.0 deduped
βββ¬ @storybook/addon-react-native-web@0.0.19
β βββ react@18.2.0 deduped
βββ¬ @storybook/jest@0.0.10
β βββ¬ @storybook/instrumenter@6.5.9
β βββ¬ @storybook/addons@6.5.9
β βββ¬ @storybook/api@6.5.9
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β βββ¬ @storybook/router@6.5.9
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β βββ¬ @storybook/theming@6.5.9
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
βββ¬ @storybook/react@6.5.14
β βββ¬ @storybook/core@6.5.14
β β βββ¬ @storybook/core-client@6.5.14
β β β βββ¬ @storybook/client-api@6.5.14
β β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β β βββ¬ @storybook/ui@6.5.14
β β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β βββ¬ @storybook/core-server@6.5.14
β β β βββ¬ @storybook/builder-webpack4@6.5.14
β β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β β βββ¬ @storybook/core-client@6.5.14
β β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β β βββ¬ @storybook/manager-webpack4@6.5.14
β β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer, "^16.13.1 || ^17.0.0" from node_modules/@mdx-js/react
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ @storybook/store@6.5.14
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector
β βββ¬ react-element-to-jsx-string@14.3.4
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string
β βββ react@18.2.0 deduped
βββ¬ @testing-library/react-native@10.1.1
β βββ react@18.2.0 deduped
βββ¬ @testing-library/react@12.1.2
β βββ react@18.2.0 deduped
βββ¬ @typeform/embed-react@1.2.3
β βββ react@18.2.0 deduped
βββ¬ @welldone-software/why-did-you-render@7.0.1
β βββ react@18.2.0 deduped
βββ¬ lottie-react-native@5.1.3
β βββ react@18.2.0 deduped
βββ¬ react-device-detect@2.1.2
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect
βββ¬ react-dom@18.2.0 invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect
βββ¬ react-error-boundary@3.1.4
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect
βββ¬ react-helmet@6.1.0
β βββ¬ react-side-effect@2.1.1
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect
βββ¬ react-hook-form@7.35.0
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect
βββ¬ react-instantsearch-hooks@6.30.2
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect
β βββ¬ use-sync-external-store@1.2.0
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect
βββ¬ react-mobile-picker@0.1.13
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker
βββ¬ react-native-country-picker-modal@2.0.0
β βββ¬ @callstack/react-theme-provider@3.0.3
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider
β βββ¬ modal-react-native-web@0.2.0
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web
β βββ¬ react-async-hook@3.6.1
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker
βββ¬ react-native-email-link@1.12.2
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker
βββ¬ react-native-fast-image@8.5.11
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image
βββ¬ react-native-flipper@0.123.0
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-modal@13.0.0
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-permissions@3.5.0
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-qrcode-svg@6.1.2
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-safe-area-context@3.3.2
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-screens@3.18.2
β βββ¬ react-freeze@1.0.0
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-svg-web@1.0.9
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-svg@12.1.1
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-tracking-transparency@0.1.1
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-web@0.17.5
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native-webview@11.23.0
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper
βββ¬ react-native@0.70.6
β βββ¬ react-shallow-renderer@16.15.0
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native
βββ¬ react-query@3.34.16
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query
βββ¬ react-test-renderer@17.0.2
β βββ¬ react-shallow-renderer@16.14.1
β β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer, "^16.8.4 || ^17.0.0" from node_modules/react-inspector, "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1" from node_modules/react-element-to-jsx-string, "^16.3.0 || ^17.0.0" from node_modules/react-side-effect, "^16.3.0" from node_modules/@callstack/react-theme-provider, "16.x.x" from node_modules/modal-react-native-web, "^17.0.0" from node_modules/react-freeze, "^16.0.0 || ^17.0.0" from node_modules/react-shallow-renderer
β βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
βββ react@18.2.0 invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
βββ¬ styled-components@5.3.6
βββ react@18.2.0 deduped invalid: ">= 0.14.0 < 18.0.0" from node_modules/react-device-detect, ">=0.14.0 <17.0.0" from node_modules/react-mobile-picker, "^16.8.6 || ^17.0.0" from node_modules/react-native-fast-image, "^16.8.0 || ^17.0.0" from node_modules/react-native-flipper, "18.1.0" from node_modules/react-native, "^16.8.0 || ^17.0.0" from node_modules/react-query, "17.0.2" from node_modules/react-test-renderer
It seems to be very hard to upgrade, so we are thinking to make a plan to simplify the upgrade of our app, do you have any recommendation so we can maximize our chances of success ?
it needs we have to go back in previous upgrade. And add all those files first
You don't need to go back. You can get the build.gradle
file from the new app template and diff with what you have locally.
We also encounter a bunch of difficulties with the typing, due to
@types/react
being present twice, exemple:
We don't maintain @types/react
. You should seek support for it on: https://github.com/DefinitelyTyped/DefinitelyTyped
I think the problem is not only the type, it is a strategy to upgrade such a big application that depend on many dep and sub deps.
My first impression after trying to attempt an upgrade is that it's a very big upgrade to perform close to impossible.
This is due because of the size of our code base, and everything that is impacted dependencies and subdependencies, affecting sources, tools (such as storybook, webpack , react-native-web) and that the paths to a successful upgrade are numerous but uncertain, it would need many hands
My plan:
react-native
updates to finish them (according to your comment)react
for updates to the top of their react 17 version, just before those dependencies update their react
to version 18, to reduce the risk of failure in the case of dependency updates, the more updates you make before the more chances we have of succeeding the upgrade (while controlling breaking changes)package.json
resolutions made for dedupages to optimize web bundle with react native webreact-native-web
has also changed a lot in its latest upgrades, we have to redo our patch-package made to add lacking features, otherwise use newly implemented api that provide the featuresreact-native
and react
are at this level of errors:
rm yarn.lock; yarn --force
, the list of packages requiring a patch rewrite are :
Warning: patch-package detected a patch file version mismatch
Don't worry! This is probably fine. The patch was still applied
successfully. Here's the deets:
Patch file created for
@react-navigation/core@6.1.0
applied to
@react-navigation/core@6.4.4
At path
node_modules/@react-navigation/core
This warning is just to give you a heads-up. There is a small chance of
breakage even though the patch was applied successfully. Make sure the package
still behaves like you expect (you wrote tests, right?) and then run
patch-package @react-navigation/core
to update the version in the patch file name and make this warning go away.
Warning: patch-package detected a patch file version mismatch
Don't worry! This is probably fine. The patch was still applied
successfully. Here's the deets:
Patch file created for
eslint-plugin-import@2.25.3
applied to
eslint-plugin-import@2.26.0
At path
node_modules/eslint-plugin-import
This warning is just to give you a heads-up. There is a small chance of
breakage even though the patch was applied successfully. Make sure the package
still behaves like you expect (you wrote tests, right?) and then run
patch-package eslint-plugin-import
to update the version in the patch file name and make this warning go away.
quβon revienne sur les maj de react-native prΓ©cΓ©dente pour les terminerquβon revienne sur les maj de react-native prΓ©cΓ©dente pour les terminer
**ERROR** Failed to apply patch for package @react-navigation/native at path
node_modules/@react-navigation/native
This error was caused because @react-navigation/native has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
i.e. manually make the appropriate file changes, then run
patch-package @react-navigation/native
Info:
Patch file: patches/@react-navigation+native+6.0.6.patch
Patch was made for version: 6.0.6
Installed version: 6.1.0
**ERROR** Failed to apply patch for package algoliasearch at path
node_modules/algoliasearch
This error was caused because algoliasearch has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
Réécrire les patch-packages sur les version les plus récentes qui fonctionnent
i.e. manually make the appropriate file changes, then run
patch-package algoliasearch
Info:
Patch file: patches/algoliasearch+4.14.1.patch
Patch was made for version: 4.14.1
Installed version: 4.14.2
**ERROR** Failed to apply patch for package instantsearch.js at path
node_modules/instantsearch.js
This error was caused because instantsearch.js has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
i.e. manually make the appropriate file changes, then run
patch-package instantsearch.js
Info:
Patch file: patches/instantsearch.js+4.43.1.patch
Patch was made for version: 4.43.1
Installed version: 4.49.1
**ERROR** Failed to apply patch for package react-error-overlay at path
node_modules/react-error-overlay
This error was caused because react-error-overlay has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
i.e. manually make the appropriate file changes, then run
patch-package react-error-overlay
Info:
Patch file: patches/react-error-overlay+6.0.9.patch
Patch was made for version: 6.0.9
Installed version: 6.0.11
**ERROR** Failed to apply patch for package react-native-calendars at path
node_modules/react-native-calendars
This error was caused because react-native-calendars has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
i.e. manually make the appropriate file changes, then run
patch-package react-native-calendars
Info:
Patch file: patches/react-native-calendars+1.1284.0.patch
Patch was made for version: 1.1284.0
Installed version: 1.1292.0
**ERROR** Failed to apply patch for package react-native-launch-navigator at path
node_modules/react-native-launch-navigator
This error was caused because react-native-launch-navigator has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
i.e. manually make the appropriate file changes, then run
patch-package react-native-launch-navigator
Info:
Patch file: patches/react-native-launch-navigator+1.0.8.patch
Patch was made for version: 1.0.8
Installed version: 1.0.9
**ERROR** Failed to apply patch for package react-native-web at path
node_modules/react-native-web
This error was caused because react-native-web has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
i.e. manually make the appropriate file changes, then run
patch-package react-native-web
Info:
Patch file: patches/react-native-web+0.17.5.patch
Patch was made for version: 0.17.5
Installed version: 0.17.7
I'd like to get your comment on that plan as you probably have seen many cases like ours.
android/app/build.gradle
: medium -> fixed warning <- it seems we don't need to do change if we don't enable new architectureThat's not correct. You need to apply all the changes inside the
android/app/build.gradle
regardless of you using the New Architecture or not. That's also the reason why your Android app is failing to build witherror: cannot find symbol BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
I have difficulties to understand how this make sens. If we edit the native part of our app, then having those files won't make any sens unless we dig the history and redo the change in the new architecture , while we apparently don't use it. Why do we need to keep those files even if they are not used by our application ?
I think the problem is not only the type, it is a strategy to upgrade such a big application that depend on many dep and sub deps.
I feel that we're mixing specific upgrade problem (like the error: cannot find symbol BuildConfig.IS_NEW_ARCHITECTURE_ENABLE
) with a more fundamental problem related to the upgrade story of React Native. On this issue tracker, let's keep the conversation focused on specific build/upgrade failure you're facing.
For the upgrade story as a broader problem, we provided an answer here: https://github.com/react-native-community/discussions-and-proposals/discussions/546#discussioncomment-4168622
I have difficulties to understand how this make sens. If we edit the native part of our app, then having those files won't make any sens unless we dig the history and redo the change in the new architecture , while we apparently don't use it. Why do we need to keep those files even if they are not used by our application ?
I'm unsure I follow you here. Have you checked the Upgrade helper? https://react-native-community.github.io/upgrade-helper/?from=0.68.5&to=0.70.6 You need to apply all the changes that you find listed in the helper.
That will make sure that all the necessary changes are applied. For instance your error: cannot find symbol BuildConfig.IS_NEW_ARCHITECTURE_ENABLE
error was caused by the lack of a buildConfigField
in your build.gradle
.
You need this field regardless of you enabling/disabling the New Architecture. If you disable the New Architecture this field is set to false
and will exclude the new renderer (Fabric) and other logic. If you forget to set this field, you won't be able to build.
I'm unsure I follow you here. Have you checked the Upgrade helper?
I did, this is how I drafted the list of files I had doubt of, but since I did not perform the previous upgrade of React Native, all of them, I don't know from what version we started to differ.
How can I do the diff in this case to catch up the history ? Do I have to do it manually ? if so from what version ? Is there a CLI tools I can use ?
Thank you so much for all the links you have provided, I will try to gather some team member on that migration as this seems quit challenging.
I stumbled upon this thread because of something else entirely but I figured out I can share a few words that might help.
Recently I have done a very similar upgrade (0.68.2 -> 0.70.6) in a medium sized project, at first I also tried to make it happen in "one upgrade", but I very quickly regretted it and resorted to doing it incrementally.
Instead of trying to make a big upgrade, I did incremental upgrades to make sure I understand what I need to change and whether the incremental upgrade caused any issues. The incremental upgrades work by trying to make sure the diff is reasonably the smallest possible without being too many of them. I chose to do it by upgrading the to the latest minor (patch?) before upgrading to the next major (minor?).
In my case, instead of 0.68.2 -> 0.70.6, I did this: 0.68.2 -> 0.68.5 -> 0.69.0 -> 0.69.7 -> 0.70.0 -> 0.70.6
Usually non-major upgrades don't have a lot of changes, just minor fixes, so jumping to the latest minor seems OK, this helps minimize the changes when upgrading to a new major.
Each upgrade was done using the CLI tool and the upgrade helper, as my app is a few years old (from the time all native libraries were manually linked), there is usually either missing files / merge conflicts.
My way of resolving those "conflicts" of code bases is to always apply RN's new code and apply my code over it (if needed). I had the same thoughts as you about the new architecture, I don't plan on enabling it any time soon, and if I disregard the notion that I might enable it in the future, it's still useful to keep it in the code base. Why?
Another important thing to apply when doing the incremental upgrade is to compile and run the application after every upgrade, code changes, libraries break, for a codebase that is not small and depends on libraries it's very easy to have issues rise after an upgrade. For example after upgrading to 0.69.0, a feature in react-native was removed (after being deprecated in 0.68.0), this broke many libraries, so after upgrading to 0.69.0 I also upgraded most of my libraries. After (googling and) fixing all issues I had with the upgrade, I kept on to the next one.
As for catching up with history in your upgrades, I once had this issue too (with Flipper specifically), but since we don't use it (and can't, thanks to react-native-firebase), I figured it's not important to us to get it to working. As long your app is working, when upgrading just give priority to the new code and apply your changes over it, both in native files and build files (be it build.gradle or anything else), this way even there were changes from upgrades before 0.68.5 and you missed them, the conflicts will usually include the code you missed. If you're asking on how to catch up after doing the upgrade to 0.70.6 from 0.68.5, I suggest you just do the whole upgrade again.
I hope this helps, good luck!
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 7 days.
Having spent the last 7 working weeks enabling a similar upgrade (0.63.4 to 0.71.12), I'd leave my experience for the next wary upgrader who finds this issue.
Similar to @Avishayy, my approach was incremental, going from
0.63.4 -> 0.63.5 -> 0.64 -> 0.65 -> 0.66 -> 0.67 -> 0.68 -> 0.69 -> 0.70 -> 0.71.12
Our react native application was one package within a mono repo. Moving from 0.63.4 to 0.63.5, I enabled rnxkit to help with understanding the out dated dependencies within the mono repo packages.
I used the following methodology on each upgrade step, ensuring a clean run each time:
gradlew clean
and wiping the appropriate simuatorpod deintegrate
and purging any derived data in XcodeSome of this may be overkill for some but it got me through the upgrade.
On each upgrade, the file upgrades presented by the upgrade helper range from easy (add a new file, remove an old configuration) to difficult (e.g. the change of iOS architecture required some understanding on the AppDelegate.h file when upgrading react-native-app-auth).
For anyone upgrading along a similar path, you may be wary to look out for:
invariant violation errors: This occurred when using different react-native versions across packages within the mono repo. use yarn why react-native
to understand what versions are being used across your packages. They should all match if you're on the right track.
Prop Type issues: React native prop types got deprecated in RN 0.66 and make a return in 0.71. Along the way I had to manually check and patch packages that relied on those prop types.
node-sass issues: This stack overflow version incompatibility discussion had a nice solution on in-line aliasing the dart-sass version in your package.json. This may not work for everyone but it did in our case.
The entire upgrade wasn't without casualties. In the end, we had to completely disable react native firebase and will attempt upgrading that at a later date. flipper also caused more issues than good (with us seeing numerous x duplicate symbols for architecture arm64
errors) so we disabled flipper in the end.
Hopefully this helps someone, good luck!
Do any of you use react-native upgrade command ? Or went through the changelog and manually did the changes?Bcz for me react-native upgrade is not at all workign
@AdarshJais In my case, I went through all of the changes suggested in the react-native upgrade helper tool and applied those changes where it made sense. For example, I didn't need to make changes to the App file because ours is completely different from the default.
As this is our second attempt, we are seeking help. The upgrade guide differ in many points with our current application, this is the list:
.flowconfig
does not exist in our project while it isMODIFIED
in upgrade helper: why? <- it seems we don't need it.node-version
as beenADDED
while we use.nvmrc
to set our version: do we need both ? <- it is unclear if.nvmrc
is enoughandroid/app/src/main/java/com/rndiffapp/MainActivity.java
does not look like ours have big differance from your 0.68.5 version of upgrade guide and must be like version 0.70.6: How do we upgrade ?android/app/src/main/java/com/rndiffapp/newarchitecture/MainApplicationReactNativeHost.java
isMODIFIED
but does not exist in our project: why? <- it seems we can ignoreandroid/app/src/main/jni/Android.mk
isDELETED
but does not exist in our project: why? <- it seems we can just add it (or ignore?)android/app/src/main/jni/CMakeLists.txt
isADDED
, but we don't even have aandroid/app/src/main/jni
folder: what should we do? <- it seems we can just add it (or ignore?)android/app/src/main/jni/MainApplicationModuleProvider.cpp
,android/app/src/main/jni/MainApplicationModuleProvider.h
,android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp
,android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
,android/app/src/main/jni/MainComponentsRegistry.cpp
are alsoMODIFIED
but from non existingandroid/app/src/main/jni
folder: what should we do? <- it seems we can just ignoreeandroid/settings.gradle
add two lines for hermes in aif
block we don't have but exist in version from and to: what should we do? <- it seems we can just add and it will be ignoredios/Podfile
ours as many difference than versionfrom
andto
, what should we do? <- it seems we can just take all change
I am really curious to know how we can keep the old fabric component and turbo modules in new version 0.72.4, which created from old version (0.68.5)
I followed the react-native-upgrade-helper https://react-native-community.github.io/upgrade-helper/?from=0.68.7&to=0.72.4.
It said about the removing some of JNI settings in Android native code.
After upgrade the version, the app itself works now, but getting the error when tried to render some fabric components .
Component name is not Fabric compatible yet.
I guess it happens by missing of registration of fabric components. In old version we can be able to register Fabric component and Turbo modules through the component registry. In new version i am not sure how i can register Fabric component and Turbo module.
Anyone can help to resolve this issue?
Anyone can help to resolve this issue?
Have you seen this article @chengjunzhang1219 ? https://github.com/reactwg/react-native-new-architecture/discussions/135
Also I'm closing this issue as the original issue has been resolved.
New Version
0.70.6
Old Version
0.68.2
Build Target(s)
iOS/Android
Output of
react-native info
Issue and Reproduction Steps
Hello, since we are stuck succeeding our iOS simulator build within GitHub action due to error
Library not loaded: @rpath/hermes.framework/hermes
using react native 0.68.5 (issue: https://github.com/facebook/react-native/issues/35536 , error log: https://gist.github.com/kopax-polyconseil/cd31322d8d71b664a0c965be7a1607e0), our organization as no other choice than trying (for the second time) to perform the react-native upgrade: according to changelog and documentation hermes/ruby become more stable in futur version.As this is our second attempt, we are seeking help. The upgrade guide differ in many points with our current application, this is the list:
.flowconfig
does not exist in our project while it isMODIFIED
in upgrade helper: why? <- it seems we don't need it.node-version
as beenADDED
while we use.nvmrc
to set our version: do we need both ? <- it is unclear if.nvmrc
is enoughandroid/app/src/main/java/com/rndiffapp/MainActivity.java
does not look like ours have big differance from your 0.68.5 version of upgrade guide and must be like version 0.70.6: How do we upgrade ?android/app/src/main/java/com/rndiffapp/newarchitecture/MainApplicationReactNativeHost.java
isMODIFIED
but does not exist in our project: why? <- it seems we can ignoreandroid/app/src/main/jni/Android.mk
isDELETED
but does not exist in our project: why? <- it seems we can just add it (or ignore?)android/app/src/main/jni/CMakeLists.txt
isADDED
, but we don't even have aandroid/app/src/main/jni
folder: what should we do? <- it seems we can just add it (or ignore?)android/app/src/main/jni/MainApplicationModuleProvider.cpp
,android/app/src/main/jni/MainApplicationModuleProvider.h
,android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp
,android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
,android/app/src/main/jni/MainComponentsRegistry.cpp
are alsoMODIFIED
but from non existingandroid/app/src/main/jni
folder: what should we do? <- it seems we can just ignoreeandroid/settings.gradle
add two lines for hermes in aif
block we don't have but exist in version from and to: what should we do? <- it seems we can just add and it will be ignoredios/Podfile
ours as many difference than versionfrom
andto
, what should we do? <- it seems we can just take all change:fabric_enabled => flags[:fabric_enabled],
<- it seems we can just add ituse_frameworks! enabled
it will not work, looking at our repo, I can't find anyuse_frameworks!
<- it seems we can just add it# An absolute path to your application root.
), with line:app_path => "#{Pod::Config.instance.installation_root}/.."
seems to exist in version from, but not in our, what should we do? <- it seems we can just add itmac_catalyst_enabled
, we should have a line__apply_Xcode_12_5_M1_post_install_workaround
that we don't have. <- it seems we can just add itios/RnDiffApp/AppDelegate.mm
: we don't have this file, we have ourAppDelegate.m
which is totally different: what should we do? <- it seems we can just ignoreThis is the analysis we have done to justify those difference:
Our last 2 previous upgrade:
https://react-native-community.github.io/upgrade-helper/?from=0.66.0&to=0.68.2
is addingandroid/app/src/main/java/com/rndiffapp/newarchitecture/MainApplicationReactNativeHost.java
with messageThis file is only required for the New Architecture setup.
jni
files are also written experimentalThis is how we are trying so far:
Excluding files that failed to apply the diff:
.gitignore
: difficulty easy -> fixed :heavy_check_mark:.ruby-version
: difficulty easy -> fixed :heavy_check_mark:Gemfile
: difficulty easy -> fixed :heavy_check_mark:android/app/build.gradle
: medium -> fixed :warning: <- it seems we don't need to do change if we don't enable new architectureandroid/app/src/main/java/com/passculture/MainActivity.java
: difficulty easy -> fixed :heavy_check_mark:android/build.gradle
: difficulty easy -> fixed :heavy_check_mark:android/gradle/wrapper/gradle-wrapper.jar
: difficulty easy -> fixed :heavy_check_mark:android/settings.gradle
: difficulty easy -> fixed :heavy_check_mark:ios/.xcode.env
: difficulty easy -> fixed :heavy_check_mark:ios/Podfile
: difficulty easy -> fixed :heavy_check_mark:ios/PassCulture.xcodeproj/project.pbxproj
: difficulty easy -> fixed :heavy_check_mark:The pull request: https://github.com/pass-culture/pass-culture-app-native/pull/4045
So far, we aren't able to succeed the upgrade build. Where can we find some help and expert? Is this the right place to ask question?
Thank you!