~/talk

Moving on from runtime CSS-in-JS at scale

Talkat JSHeroes 2023 · 2023-05-18..05-19· [react, frontend-architecture]
slides:none on file

GitHub runs on 4,000 presentational components that use runtime CSS-in-JS (styled-components / SX) and find big updates and server-side style collection painfully slow—style collection adds roughly 10% to server response time and streaming/suspense complicate injection. A prototype compiles styles out (Babel proof-of-concept, CSS-out.js) and alternatives like vanilla-extract or SWC/Rust plugins exist, but migration favors automation-assisted transforms (TS-morph) plus a VS Code autocomplete to preserve tokens; choose compile-time CSS for mixed teams, deeper JS for JS-native teams.

AI-written summary · about

  1. 0:00Styling architecture challenges
  2. 1:53CSS-in-JS evolution 2015-2018
  3. 6:47Advantages and pitfalls of runtime CSS-in-JS
  4. 12:09SX prop at GitHub success
  5. 13:33Build-time CSS compilation
  6. 16:40JS tooling challenges at scale
  7. 18:28Modern CSS features
  8. 20:11Primer CSS autocomplete
  9. 21:56Migrating 4K components
  10. 24:44Choosing styling approach
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.