infinitered / infinitered/ignite
Remove `useFonts` and embed them as part of the App Binary
- Dominant language
- TypeScript
- Stars
- 19.9k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
Good morning Infinite Red,
I came across this X.com thread: https://x.com/aleqsio/status/1968273285239734405 and I read through the expo font docs: https://docs.expo.dev/versions/latest/sdk/font/
and they talk about the preference for fonts is to not use `useFonts` and load them asynchronously but to include them in the app binary using the `expo-config-plugin`. I just finished getting this working in my app, and here are all the diffs, which should be similar to ignite, just with different fonts:
App.tsx:
app.json:
package.json:
typography:
Then you have to add the font files under the assets/fonts folder.
This should theoretically decrease the TTI of the app and reduce splash screen show time.
Contributor guide
Research direction
Review App.tsx, app.json, package.json, typography, and assets/fonts first, alongside the Expo font and config-plugin documentation. Confirm the current font-loading path and app configuration. Done means the fonts are bundled in the app binary and asynchronous useFonts loading is removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- build-system, mobile
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100