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

[Parent Issue] Migrate from Styled Components to Emotion #7772

Closed
5 tasks done
simonsinclair opened this issue Sep 9, 2020 · 0 comments · Fixed by #8171
Closed
5 tasks done

[Parent Issue] Migrate from Styled Components to Emotion #7772

simonsinclair opened this issue Sep 9, 2020 · 0 comments · Fixed by #8171
Assignees
Labels
cross-team For visibility for both World Service teams (Engage & Media) high-priority Parent Issue Parent issue for new features/components which links to all relating issues performance technical-work Technical debt, support work and building new technical tools and features
Projects

Comments

@simonsinclair
Copy link
Contributor

simonsinclair commented Sep 9, 2020

Outline

Following preliminary work (covered in Background 👇), we wish to migrate our CSS-in-JS library from Styled Components to Emotion. This will release us from the Styled Components shaped hole we've been stuck in since we learned we couldn't upgrade to the latest version.

In migrating to Emotion, we will leave behind Styled Components four, the stale issues with companion libraries preventing us from upgrading to Styled Components five, and likely see an exceptional increase in real-world server-side rendering time. Emotion's runtime is also smaller than Styled Components, so we will see a reduction in client-side bundle sizes.

Tasks

Psammead

Simorgh


Background

This work stemmed from the following root issue: Simorgh performance profiling #6922.

Investigation

The following document is a living investigation, which has informed the direction of this work: Dropbox Paper: Simorgh SSR Performance

Proof-of-Concept

Phase 1

Phase 2

Results

A single (non-clustered) Simorgh instance renders pages 35% faster with Emotion.

Screenshot 2020-09-14 at 17 32 12

@simonsinclair simonsinclair added high-priority performance Parent Issue Parent issue for new features/components which links to all relating issues cross-team For visibility for both World Service teams (Engage & Media) emotion-migration labels Sep 9, 2020
@simonsinclair simonsinclair self-assigned this Sep 9, 2020
@simonsinclair simonsinclair added this to Issue in Progress in Simorgh Sep 9, 2020
@simonsinclair simonsinclair added this to the Migrate to Emotion milestone Sep 9, 2020
@simonsinclair simonsinclair added the technical-work Technical debt, support work and building new technical tools and features label Sep 9, 2020
Simorgh automation moved this from Issue in Progress to Done Nov 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cross-team For visibility for both World Service teams (Engage & Media) high-priority Parent Issue Parent issue for new features/components which links to all relating issues performance technical-work Technical debt, support work and building new technical tools and features
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

1 participant