Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(babel-preset-expo, expo-router): Add Expo Router babel features to babel-preset-expo #24779

Merged
merged 2 commits into from Oct 12, 2023

Conversation

EvanBacon
Copy link
Contributor

@EvanBacon EvanBacon commented Oct 7, 2023

Why

  • Reduce the boilerplate required for expo-router by moving the babel plugin features to babel-preset-expo.
  • Make the expo-constants Metro web support work without Expo Router.
  • Keeping expo-router/babel around for now since it shouldn't cause any harm, this will support if someone needs to use Expo Router v3 with Expo SDK 49 in the future (which probably won't work anyways).
  • Fix SDK 49 - Constants.expoConfig is an empty object in Web  #23819

How

  • Move code from expo-router/babel.js to babel-preset-expo.
  • Rewrite plugin to use TypeScript.
  • Add tests.

Test Plan

  • Added tests for the new plugins.

Checklist

Co-authored-by: Expo Bot <34669131+expo-bot@users.noreply.github.com>
@expo-bot expo-bot added bot: passed checks ExpoBot has nothing to complain about and removed bot: suggestions ExpoBot has some suggestions labels Oct 9, 2023
@EvanBacon EvanBacon merged commit 0175e87 into main Oct 12, 2023
7 of 8 checks passed
@EvanBacon EvanBacon deleted the @evanbacon/babel-preset-expo/add-router-plugin branch October 12, 2023 19:27
marklawlor pushed a commit that referenced this pull request Oct 30, 2023
…to babel-preset-expo (#24779)

# Why

- Reduce the boilerplate required for expo-router by moving the babel
plugin features to babel-preset-expo.
- Make the expo-constants Metro web support work without Expo Router.
- Keeping expo-router/babel around for now since it shouldn't cause any
harm, this will support if someone needs to use Expo Router v3 with Expo
SDK 49 in the future (which probably won't work anyways).
- Fix #23819

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

# How

- Move code from expo-router/babel.js to babel-preset-expo.
- Rewrite plugin to use TypeScript.
- Add tests.

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

- Added tests for the new plugins.

<!--
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.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <34669131+expo-bot@users.noreply.github.com>
EvanBacon added a commit that referenced this pull request Dec 11, 2023
# Why

- Companion PR to #24779 but we'll keep
it in draft until we get closer to releasing SDK 50.

---------

Co-authored-by: Aman Mittal <amandeepmittal@live.com>
onizam95 pushed a commit to onizam95/expo-av-drm that referenced this pull request Jan 15, 2024
# Why

- Companion PR to expo#24779 but we'll keep
it in draft until we get closer to releasing SDK 50.

---------

Co-authored-by: Aman Mittal <amandeepmittal@live.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: fingerprint changed bot: passed checks ExpoBot has nothing to complain about
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SDK 49 - Constants.expoConfig is an empty object in Web
3 participants