Remove some unimodules leftovers from the repo
Remove deprecated unimodules packages from repository (#14585)
Publish expo, expo-modules-core[email protected]
Publish packages@unimodules/[email protected]@unimodules/[email protected][email protected][email protected][email protected][email protected]expo-analytics-s
Publish packages@unimodules/[email protected]@unimodules/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
show more ...
[expo-modules][ios] Fix errors from use_frameworks in Podfile (#14523)# Why close [ENG-1772](https://linear.app/expo/issue/ENG-1772/regression-test-for-use-frameworks-in-podfile) fixes #13920
[expo-modules][ios] Fix errors from use_frameworks in Podfile (#14523)# Why close [ENG-1772](https://linear.app/expo/issue/ENG-1772/regression-test-for-use-frameworks-in-podfile) fixes #13920 # How - error: `The 'App' target has transitive dependencies that include static binaries` declare `static_framework = true` in podspec. since all expo-modules ship in either source code or static xcframework, it should make sense to add `static_framework` declaration and solve this kind of errors. - error: generated swift runtime header not found fix like this because in framework mode, generated headers are inside module. ```diff +#if __has_include(<ExpoModulesCore/ExpoModulesCore-Swift.h>) +// For cocoapods framework, the generated swift header will be inside ExpoModulesCore module +#import <ExpoModulesCore/ExpoModulesCore-Swift.h> +#else #import "ExpoModulesCore-Swift.h" +#endif ``` - error: [gl] `<cassert>` import not found this is supported in c++, thus rename to objc++ .mm files. - error: [gl] `BLOCK_SAFE_RUN` inconsistent left/right operands types this is side effect after renaming expo-gl files as .mm. fixed by explicitly cast as void. - error: [core] undefined symbols in linking time, e.g. `EXRegisterModule` this is side effect after renaming expo-gl files as .mm. fixed by export symbols by `extern "C"`, otherwise c++ will have different name mangling between c. - rename `expo-image` pod to `EXImage` - error: `Include of non-modular header inside framework module` adding `DEFINES_MODULES` for cocoapods to create modulemap file. for external dependency like firebase, ignore the error by adding `CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES` - error: expo-constant's app.config and expo-updates' app.manifest not found in use_frameworks mode, the path is the same with non framework mode. `/$UNLOCALIZED_RESOURCES_FOLDER_PATH` is unnecessary. - error: [barcode-scanner] ZXingObjC podspec GCC_PREPROCESSOR_DEFINITIONS does not export to EXBarCodeScanner and cause headers not found add these defines explicitly - [templates] add missing `react_native_post_install` from react-native 0.64 upgrade - error: `Cycle inside FBReactNativeSpec; building could produce unreliable results. This usually can be resolved by moving the shell script phase '[CP-User] Generate Specs' so that it runs before the build phase that depends on its outputs.` workaround by moving `FBReactNativeSpec` build phase script order. Co-authored-by: Tomasz Sapeta <[email protected]> # Test Plan ## prebuilt xcframework test ```sh expo init -t /path/to/expo/templates/expo-template-bare-minimum sdk43 cd sdk43 # add `s.static_framework = true` for each `node_modules/expo-*/ios/*.podspec` cd ios # add `use_frameworks!` to Podfile rm -rf Pods && pod install cd .. expo run:ios expo run:ios --configuration Release ``` ## regression for all expo-modules ```sh expo init -t /path/to/expo/templates/expo-template-bare-minimum sdk43 cd sdk43 yarn add file:/path/to/expo/packages/expo-* # add all expo-modules one-by-one # test non framework mode expo run:ios expo run:ios --configuration Release # test framework mode cd ios # add `use_frameworks!` to Podfile rm -rf Pods && pod install cd .. expo run:ios expo run:ios --configuration Release ```
Publish expo-modules-core, expo-modules-autolinking, expo[email protected][email protected][email protected]
[ios] Bump deployment target to 12.0 (#14383)* drop ios 11 * update bare-sandbox * forgot some * add PR link to changelogs * Update packages/expo-cellular/CHANGELOG.md Co-authored-by
[ios] Bump deployment target to 12.0 (#14383)* drop ios 11 * update bare-sandbox * forgot some * add PR link to changelogs * Update packages/expo-cellular/CHANGELOG.md Co-authored-by: Expo CI <[email protected]> * et pod-install after rebase Co-authored-by: Expo CI <[email protected]>
Various cleanups in unimodules packages (#14379)
Publish packages[email protected][email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages@unimodules/[email protected]@unimodules/[email protected][email protected][email protected][email protected]e
Publish packages@unimodules/[email protected]@unimodules/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
[packages] Migrate dependencies to expo-modules-core
[unimodules] Add deprecation notices to CHANGELOGs and READMEs (#14048)Co-authored-by: Tomasz Sapeta <[email protected]>
[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 ✅
[unimodules] Fix `cannot find "unimodules-test-core"` (#13953)# Why Fixes `cannot find "unimodules-test-core" project`. # How Checked if `unimodules-test-core` exists before adding it to a
[unimodules] Fix `cannot find "unimodules-test-core"` (#13953)# Why Fixes `cannot find "unimodules-test-core" project`. # How Checked if `unimodules-test-core` exists before adding it to as dependence. We use tests internally, so we don't want to fail someone's build if they don't have `unimodules-test-core` installed. # Test Plan - bare-expo ✅
[expo-modules] Move code from `unimodules` into `expo-modules-core` (#13703)# Why Migrated `unimodules-core`, `unimodules-react-native-adapter`, `unimodules-app-loader` into `expo-modules-core`
[expo-modules] Move code from `unimodules` into `expo-modules-core` (#13703)# Why Migrated `unimodules-core`, `unimodules-react-native-adapter`, `unimodules-app-loader` into `expo-modules-core` # How - Change package using AS refactor tools - Fix some places where AS wasn't able to do automatically - Fix compatibility with new auto-linking - Ensure that classes which are used during installation steps are still available in the old place # Test Plan - expo-go (tested using unversioned and 41) - bare-expo
[expo-modules][android] propose module-level app or activity customization support (#13457)# Why Some modules require additional setup into MainApplication or MainActivity, e.g. expo-splash-scre
[expo-modules][android] propose module-level app or activity customization support (#13457)# Why Some modules require additional setup into MainApplication or MainActivity, e.g. expo-splash-screen or react-native-gesture-handler Traditionally, we used pre-shaped templates or regular expression in config plugin. This PR propose a way to make MainApplication and MainActivity extensible. # How Introducing `ApplicationLifecycleListener` and `ReactActivityLifecycleListener` for expo-modules, an expo-module package could register these two listeners. For POC, expo-splash-screen in bare-expo is also migrate to the new model. ### Performance impact Leveraging the auto-linking mechanism, a notable change is that we need expo-modules package list before react-native bootstrap. In theory, the change may take longer time to show splash screen. My measurement from `MainApplication.onCreate` to `SplashScreenViewController.show` Before: 74.2ms After 80.0ms There is no meaningful impact to launch time. # Test Plan bare-expo android app will show splashscreen even removed the `SplashScreen.show` in MainActivity.
[unimodules-core][ios] Fix `getModuleImplementingProtocol` cannot find protocols which starts with "UM" (#13502)# Why Fixes `getModuleImplementingProtocol` always returns `nil` when protocols na
[unimodules-core][ios] Fix `getModuleImplementingProtocol` cannot find protocols which starts with "UM" (#13502)# Why Fixes `getModuleImplementingProtocol` always returns `nil` when protocols name starts with "UM". # How `getModuleImplementingProtocol` gets protocols from module registry by protocol class. React Native adapter provides services that start with "EX". Services from "UMCore" were deprecated but still should work. To ensure backward compatibility, I've changed how we declared "UM" services. # Test Plan - bare-expo ✅ - expo go ✅
[ios] Merge unimodules core and adapter into expo-modules-core (#13353)# Why Part of Expo modules re-architecture # How - Copied iOS sources from `@unimodules/core` and `@unimodules/react-
[ios] Merge unimodules core and adapter into expo-modules-core (#13353)# Why Part of Expo modules re-architecture # How - Copied iOS sources from `@unimodules/core` and `@unimodules/react-native-adapter` to `expo-modules-core` - In these copied files replaced `UM` prefix with `EX` - Swift names for classes used by the users (`AppDelegateWrapper`, `ModuleRegistry`, `ModuleRegistryAdapter`, `ModuleRegistryProvider`) won't have any prefix — we would drop these prefixes anyway, in the future when we rewrite them to Swift - Old `UM*` names are still supported and most of them are marked as deprecated, however I couldn't get it to work for Swift (but seems like no one uses it for app delegates?) and protocols - `ExpoModulesCore` provides `EXUnimodulesCompat.h` header that expands old `UM_*` macros to `EX_*` - Previously `ExpoModulesCore` depended upon `UMCore`, now it's the other way around — `UMReactNativeAdapter` and `UMCore` depend on `ExpoModulesCore` to import `EXUnimodulesCompat` header - Fixed `EXTrackingTransparency` to depend on `ExpoModulesCore` directly - _There are no changes in the logic or architecture of unimodules/expo modules, I'll do this separately_ # Test Plan - CI jobs are passing - Tested locally, apps seem to work as before
Publish @unimodules/core, @unimodules/react-native-adapter, react-native-unimodules@unimodules/[email protected]@unimodules/[email protected][email protected]
[ios] Replace clang's `typeof` with `__typeof`
[packages][android] Build modules using java 8 (#12939)# Why Side pr for #12893 # How To fix android instrumented test build errors, specific for bare-expo app. # Test Plan CI build
[packages][android] Build modules using java 8 (#12939)# Why Side pr for #12893 # How To fix android instrumented test build errors, specific for bare-expo app. # Test Plan CI build passed. There are no meaningful user-facing changes.
[ENG-976][document-picker] convert to kotlin (#12852)* [image-picker][core] more ModuleRegistryDelegate to @unimodules/core * [document-picker] convert to kotlin * Apply suggestions from code
[ENG-976][document-picker] convert to kotlin (#12852)* [image-picker][core] more ModuleRegistryDelegate to @unimodules/core * [document-picker] convert to kotlin * Apply suggestions from code review Co-authored-by: Łukasz Kosmaty <[email protected]> * address PR feedback * Update packages/expo-document-picker/android/src/main/java/expo/modules/documentpicker/DocumentDetailsReader.kt Co-authored-by: Bartłomiej Bukowski <[email protected]> Co-authored-by: Łukasz Kosmaty <[email protected]> Co-authored-by: Bartłomiej Bukowski <[email protected]>
[android] Enable kotlin in all modules (#12716)
Publish packages@unimodules/[email protected]@unimodules/[email protected][email protected][email protected][email protected][email protected]expo-app-a
Publish packages@unimodules/[email protected]@unimodules/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
12345