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(metro-config, cli): CSS serializer #22325

Merged
merged 30 commits into from Apr 30, 2023

Conversation

EvanBacon
Copy link
Contributor

Why

In order to support static CSS in development mode, we need to update the metro serializer to support returning the JS and CSS assets. We now inline the CSS in the HTML before sending to the client, this allows for testing how the website works with JS disabled. We use the same style tag id to continue to support HMR for styles during subsequent updates.

This change also refactors how exports work to serialize JS and CSS at the same time (i.e. after the native transformations).

How

Test Plan

Checklist

@expo-bot expo-bot added the bot: suggestions ExpoBot has some suggestions label Apr 28, 2023
@ide ide removed their request for review April 29, 2023 00:58
@ide
Copy link
Member

ide commented Apr 29, 2023

I assume Cedric is a better reviewer for this.

EvanBacon and others added 2 commits April 30, 2023 13:09
@expo-bot expo-bot added bot: passed checks ExpoBot has nothing to complain about and removed bot: suggestions ExpoBot has some suggestions labels Apr 30, 2023
@EvanBacon EvanBacon merged commit 9580591 into main Apr 30, 2023
15 of 16 checks passed
@EvanBacon EvanBacon deleted the @evanbacon/metro-config/html-serializer branch April 30, 2023 20:46
douglowder pushed a commit that referenced this pull request May 2, 2023
# Why

In order to support static CSS in development mode, we need to update
the metro serializer to support returning the JS and CSS assets. We now
inline the CSS in the HTML before sending to the client, this allows for
testing how the website works with JS disabled. We use the same style
tag id to continue to support HMR for styles during subsequent updates.

This change also refactors how exports work to serialize JS and CSS at
the same time (i.e. after the native transformations).

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

# How

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

# Test Plan

<!--
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: passed checks ExpoBot has nothing to complain about
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants