chore(expo-modules-core)!: remove and deprecate objects (#24298)# Why - Remove deprecated `RCTDeviceEventEmitter` (deprecated for years). - Remove `deprecate` utility function (unused in repo).
chore(expo-modules-core)!: remove and deprecate objects (#24298)# Why - Remove deprecated `RCTDeviceEventEmitter` (deprecated for years). - Remove `deprecate` utility function (unused in repo). - Deprecate `SyntheticPlatformEmitter` in favor of `DeviceEventEmitter` (renamed internally in `react-native-web`). - Remove `compare-versions` package. - Create web-only mock of side-effect file to reduce bundle size in base web apps. --------- Co-authored-by: Expo Bot <[email protected]>
show more ...
[Android][core] Drop proxied properties (#22321)# Why This a follow-up to the https://github.com/expo/expo/pull/22280. # How So, I manually exported all the properties defined in the view
[Android][core] Drop proxied properties (#22321)# Why This a follow-up to the https://github.com/expo/expo/pull/22280. # How So, I manually exported all the properties defined in the view component through the view manager. It's interesting to note that the same code seems to work fine with fabric without any changes made to the `ExpoViewProps` class. I don't know much about fabric components, so there might be something important that I'm missing here. But for now, let's go ahead with merging it. I'll look into it further to figure out why it's working with fabric as well. # Test Plan - bare-expo ✅ - fabric-tester ✅
[core][iOS] Drop proxiedProperties prop (#22280)
[core][ios] Native functions on native component instances (#21746)
[2/3] upgrade react native 0.71 (#20832)# Why follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests. close ENG-7192 # How - upgrade packag
[2/3] upgrade react native 0.71 (#20832)# Why follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests. close ENG-7192 # How - upgrade packages - `jest: ^26.0.24 -> ^29.2.1` - `jest-watch-typeahead: 0.6.4 -> 2.2.1` - `@types/jest: ^26.0.24 -> ^29.2.1` - `babel-jest: ^26.6.3 -> ^29.2.1` - `@jest/create-cache-key-function: ^27.0.1 -> ^29.2.1` - `@babel/preset-env: ^7.12.9 -> ^7.14.0` - `eslint: ^8.20.0 -> ^8.29.0` - add `jest-environment-jsdom` because new jest does not include it by default - [core] fix `SyntheticPlatformEmitter` type error. originally it refers to `react-native/Libraries/EventEmitter/RCTDeviceEventEmitter` internal file which has incorrect type setup in 0.71. we could use the `react-native.DeviceEventEmitter` instead. - [expo-linking]: remove the deprecated `Linking.removeEventListener` (which is also removed from upstream) - [firebase-recaptcha] remove broken web test because firebase ESM which is not supported by jest. this pr simply remove the test case because the package is deprecated. - [jest-expo-enzyme] remove this package and move to [the archived repo](https://github.com/expo/jest-expo-enzyme). enzyme cannot upgrade to jest 29. - remove `@types/react-native` and the versioned cli package check. because 0.71 ships the types directly. - [ncl] workaround `@react-native-community/slider`, `@react-native-segmented-control/segmented-control`, and `@react-native-masked-view/masked-view` type errors in the `react-native-71-fix.d.ts`. - for other details, please check the commit histories one by one. # Test Plan - ci passed - for test-suite ios ci error, i've mentioned in #20799
[packages] fix ci errors (#18028)
Upgrade to react-native 0.69 (#18006)# Why for sdk 46 close ENG-5353 # How - update packages - react -> 18.0.0 - react-native -> 0.69.0 - react-dom -> 18.0.0 - react-native-w
Upgrade to react-native 0.69 (#18006)# Why for sdk 46 close ENG-5353 # How - update packages - react -> 18.0.0 - react-native -> 0.69.0 - react-dom -> 18.0.0 - react-native-web -> ~0.18.1 - react-test-renderer -> ~18.0.0 - @types/react -> ~18.0.14 - @types/react-native -> ~0.69.1 - early patch react-native for 0.69.1 fixes - https://github.com/facebook/react-native/commit/43f831b - https://github.com/facebook/react-native/commit/c2088e1 - https://github.com/facebook/react-native/commit/f97c6a5 - https://github.com/facebook/react-native/commit/79baca6 - https://github.com/facebook/react-native/pull/34064#issuecomment-1168810152 - migrate `expo-template-bare-minimum`, `bare-expo`, `bare-sandbox` to 0.69. reference from https://react-native-community.github.io/upgrade-helper/?from=0.68.1&to=0.69.0 - also remove the `hermesCommand` because 0.69 uses the builtin hermes-engine - `expo-av`, `expo-modules-core`, `expo-gl-cpp`: fix android cpp building errors, because 0.69 ships both release and debug aar - `expo-dev-client`: fix android build error from RedBox package rename - `html-elements`: update RNWView where react-native-web removed [the `css` import](https://github.com/necolas/react-native-web/commit/b27c9820) - `expo`: move Expo.podspec out from ios, because newer [rn-cli removed the `podspecPath` and `project` support](https://github.com/react-native-community/cli/commit/25eec7c#diff-0dddbcedebb33032fcac5991f3dcdfa44157e6ae87afcf3dabcd240a0db09832L58). - [ ] disable dev-client because the vendored reanimated in dev menu doesn't support 0.69 yet, e.g. `folly_json -> folly_runtime` - update reanimated and gesture-handler to latest for 0.69 support - `jest-expo`: update to [fix the deprecated react-native-web jest preset](https://github.com/necolas/react-native-web/commit/9b0c119) - `NCL`, `home`, patch `react-native-svg`: fix react 18 that [`children` should be explicitly added](https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html#updates-to-typescript-definitions) - `@expo/cli` fix react-native-web and react-dom version checks # Test Plan - android bare-expo smoke test - ios bare-expo smoke test - ci passed - updates e2e is broken because in the flow the react-native doesn't include 0.69.1 fixes.
[core] Stop relying on deprecated ViewPropTypes (#16207)
[packages] fix Jest preset deprecation warning (#15114)
[eslint-config] remove `arrowParens` overwrite, reformat files (#14232)
[notifications] Add permission hooks from modules factory (#13863)* [notifications] Add permission hooks from modules factory * [notifications] Add changelog entry * [modules-core] Add generi
[notifications] Add permission hooks from modules factory (#13863)* [notifications] Add permission hooks from modules factory * [notifications] Add changelog entry * [modules-core] Add generic options to permission hook * [notifications] Use proper permission requesters with options * [notifications] Add the changelog line breaks back
[jest] Update mocks and snapshots
[modules-core] Move js code (#13895)# Why Moves js code from `@unimodules/core` and `react-native-adapter` to `expo-modules-core` # How - Move js code. - Make sure everything is compiling
[modules-core] Move js code (#13895)# Why Moves js code from `@unimodules/core` and `react-native-adapter` to `expo-modules-core` # How - Move js code. - Make sure everything is compiling # Test Plan - bare-expo - ios ✅ - android ✅ - expo go - ios ✅ - android ✅
[modules-core] Add permission hook factory (#13782)* [modules-core] Add permission hook factory * [modules-core] Add permission hook factory unit tests * [modules-core] Add changelog entry
[modules-core] Add permission hook factory (#13782)* [modules-core] Add permission hook factory * [modules-core] Add permission hook factory unit tests * [modules-core] Add changelog entry * [modules-core] Make permission hook options optional * [docs] Tweak the API docs for permission hooks * [docs] Remove ViewStyle from docs exclusion list [skip ci]