Conversation
…gure (#45008) # Why https://linear.app/expo/issue/ENG-20370/replace-enableindebug-from-appjson-with-observeconfigure # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan 1. Unit tests 2. App in bare-expo # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
… with React (#45115) # Why `ServerFontResourceDescriptor.crossOrigin` was typed as `string`, which doesn't match React's `crossOrigin` attribute type. This caused type errors when passing the descriptor to React DOM elements during SSR. # How Changed the `crossOrigin` type in `ServerFontResourceDescriptor` from `string` to match React's `HTMLAttributes['crossOrigin']`. # Test Plan - CI # Checklist - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [x] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why The `ServerFontResourceDescriptor` type was defined internally in `ExpoFontLoader.ts` and not exported from `expo-font`'s public API. # How Moved the `ServerFontResourceDescriptor` type definition from `src/ExpoFontLoader.ts` to `src/Font.types.ts` with the other public types and re-exported it from `src/Font.ts`. # Test Plan - CI # Checklist - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [x] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why Aligns Host `matchContents` semantics across iOS and Android. Both platforms now use intrinsic content size (SwiftUI `.fixedSize`, Compose `onMeasure` `UNSPECIFIED`), so both show consistent behaviour. Also fixes - #45018 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - iOS: apply `.fixedSize(horizontal:vertical:)` when `matchContents` is set so SwiftUI returns the child's ideal size. - Android: stop clamping `Constraints.Infinity` to safe-area for the `matchContents` path; clamp now scoped to `useViewportSizeMeasurement` only. The `onMeasure` `UNSPECIFIED` still feeds infinite max constraints to Compose so children measure at intrinsic size. - Updated Compose Host docs with a Note about scrollable children (`LazyRow`/`LazyColumn`/`Carousel` etc.) crashing when placed directly under `matchContents`. - Updated `Carousel` and `DateTimePicker` doc examples to use `matchContents={{ vertical: true }}` + `style={{ width: '100%' }}` since their internals scroll horizontally. <!-- How did you build this feature or fix this bug and why? --> # Test Plan Tested in NCL. Verified: long Text under `<Host matchContents>` overflows to natural width on both platforms. Old behaviour can be enabled by passing `<Host matchContents={{ vertical: true }} />`. Here Host's width will be sized by RN (align items stretch) and height will be sized based on the child. <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [x] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) --------- Co-authored-by: Aman Mittal <amandeepmittal@live.com>
# Why There's a loop back to `expo` in `@expo/prebuild-config` that's unnecessary and is a cyclic dependency. Often, this is as designed and desirable, but in this case it's superfluous. This is a bit harder to spot, but `@expo/prebuild-config` specifically shouldn't or doesn't need to depend on `expo` as a peer. It's pulled in (directedly) from `@expo/cli` and is hence coupled to a fixed `@expo/cli` version. This is further affirmed by its direct dependency on `@expo/config-plugins` This then specifically affects the `expo-modules-autolinking` dependency, which can be a direct dependency since the chain of `expo -> @expo/cli -> @expo/prebuild-config / expo-modules-autolinking` and `expo -> expo-modules-autolinking` is "strongly" coupled. # How - Drop `expo` peer - Add `expo-modules-autolinking` direct dependency - Replace accidental `expo/config-plugins` with `@expo/config-plugins` (since it's already a direct dependency) Misalignment shouldn't be expected, since the versions in this case are strongly kept in sync, unless a user directly installs `@expo/prebuild-config` which isn't supported, or won't have any effect. # Test Plan - CI should pass unchanged # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why Related to #45125 `@expo/inline-modules` seems strongly tied to `@expo/cli`, i.e. is a fixed version. As such, the peer dependency on `expo` is redundant. All three packages (`expo`, `@expo/cli`, and `@expo/inline-modules`) depend on `@expo/config-plugins` and should do so directly instead of looping around. # How - Drop peer on `expo` and depend on `@expo/config-plugins` directly - Fix project test setup and delete duplicate test file # Test Plan - CI should pass unchanged # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )