[go] vendor react-native-async-storage (#20780)# Why react-native 0.71 removed the builtin async storage, to keep the backward compatibility, we should now vendor the *@react-native-async-storag
[go] vendor react-native-async-storage (#20780)# Why react-native 0.71 removed the builtin async storage, to keep the backward compatibility, we should now vendor the *@react-native-async-storage/async-storage* close ENG-7190 # How - [tools] add @react-native-async-storage/async-storage to vendoring config - to support expo-go's scoped async storage, we should further patch react-native-async-storage. they are now in the vendoring patch. - previously on ios, we had the patch [in our fork](https://github.com/expo/react-native/commit/c7d3f6d12ed566bd5700c8ec0d6b5b82018207a4) - previously on android, we did this from [the transform tool for our fork](https://github.com/expo/expo/blob/9047ecfbe233924e4848722b518d8ce1fa8b7173/android/tools/src/main/java/host/exp/exponent/tools/ReactAndroidCodeTransformer.java#L215-L216) - the new react-native-async-storage saves data in a different storage, so they have the migration steps. to keep backward compatibility for existing expo-go. i skip the migrations and read the storage data from previous expo-go paths. - the new react-native-async-storage saves ios data in [*Application Support* rather than *Documents*](https://github.com/react-native-async-storage/async-storage/pull/274). i don't want to follow the design. the reason is, besides backward compatibility, expo-go as a developer tool, it's good for developers to view the storage in *Documents*. - [ios] migrate the AsyncStorage native module from `RCTAsyncLocalStorage` to `RNCAsyncStorage` - [android] migrate `ExponentAsyncStorageModule` parent class to the new `AsyncStorageModule` - the new react-native-async-storage doesn't support turbo module, we have to move our integration from *ExpoTurboPackage* to *ExponentPackage* - the classic native module system respects the `@ReactMethod` annotation, we should add all of them in the `ExponentAsyncStorageModule`. # Test Plan - [ncl] AsyncStorage test case before this pr and after. makes sure the AsyncStorage value is kept after the changes.
show more ...
[eslint-config] remove `arrowParens` overwrite, reformat files (#14232)
[eslint-config] bump dependencies and minimum required lint tools versions (#13858)Co-authored-by: James Ide <[email protected]>
Fix missing async storage in ejected NCL (#11873)* Fix missing async storage in ejected NCL * Update withExpoAsyncStorage.js
[EAS] Added config plugins for Expo packages and setup NCL (#11538)* create av plugin for auto configuration * mid eject * full eject * Update app.plugin.js * av working * image-pick
[EAS] Added config plugins for Expo packages and setup NCL (#11538)* create av plugin for auto configuration * mid eject * full eject * Update app.plugin.js * av working * image-picker * ejected image-picker * added config plugins dep * task manager works * added all other plugins * eject with plugins * camera plugin * git ignore native folders * added config mod * wip * eject and kinda running * fix `Unable to find module for DevMenu` * added missing deps * remove excluded * added plgin to append block to AppDelegate * automate app delegate mod * added PodfileMinVersion plugin * Added missing native modules * remove native folders * format * gradle properties plugin * Update withGradleProperties.js * added static config * fixup groovy * make unimodules-test-core a unimodule * commit android test * checked * wip * kotlin plugin * app-auth plugin * fixup app-auth plugin * Update package.json * re-eject test * Update app.config.js * ignore native folders * Update cocoapods.rb * fix iOS build * Update package.json * allow for overwriting default permissions * Update yarn.lock * Update package.json * resolutions * fixed android build * remove unused * Update package.json * move unimodules-test-core plugin * created local auth plugin * fix media-library plugin * fix calendar plugin * added plugin to add iOS dev menu back to project * added missing packages * added ios screen orientation plugin * added screen orientation plugin and firebase core plugin * revert original changes * clean up * remove comment * update versions * fix lint * updated changelogs * fix lint * disable branch * Update ExpoApisScreen.tsx * Update app.config.js * disable background location on android by default * Update package.json