Skip to content

[pull] main from expo:main#840

Merged
pull[bot] merged 6 commits intocode:mainfrom
expo:main
May 7, 2026
Merged

[pull] main from expo:main#840
pull[bot] merged 6 commits intocode:mainfrom
expo:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 7, 2026

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 : )

tsapeta and others added 6 commits May 7, 2026 00:41
…45471)

# Why

`useFonts` from `@expo-google-fonts/material-symbols` imports from
`react` and `expo-font` but the peer dependencies aren't declared by the
package.

While we could add the missing peer dependencies for this, during a
preview/beta period, the correct version may not resolve. This is
because `expo-font: "*"` may link to the latest, and depending on how
the peers are deduplicated (or not deduplicated in some cases in npm),
this may lead to a duplicate dependencies issue. In default projects,
`autolinkingModuleResolution` isn't enabled and can't protect us from
this.

If we only add the peer on `react`, `expo-font` is covered by the
fallback resolver. We'd only half-solve the issue this way however.
`react` isn't covered by the fallback resolver.

There's also the issue that `expo-font` wouldn't auto-install, even if
we added it as a peer. That does speak for leaving it out, but that
makes the assumption that the package will only be used in Expo apps.
That might be fine in the future, however,

Instead, during the beta period, we should probably just vendor this
call. It's not necessary to use its implementation from
`@expo-google-fonts/material-symbols` as it's trivially replaced.

# How

- Vendor `useFonts` hook 

# 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)
@pull pull Bot locked and limited conversation to collaborators May 7, 2026
@pull pull Bot added the ⤵️ pull label May 7, 2026
@pull pull Bot merged commit b2757f5 into code:main May 7, 2026
1 check failed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants