<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/linear-ditches-css-in-js-for-stylex-github-s-migration-pays-off-elu0kdbw9" -->

---
title: Linear ditches CSS-in-JS for StyleX, GitHub's migration...
description: CSS-in-JS is having a rough day. Linear finished a 1,000-PR migration from styled-components to Meta's StyleX, and a Frontend Focus roundup confirms GitHub's...
canonical: https://daily.dev/posts/linear-ditches-css-in-js-for-stylex-github-s-migration-pays-off-elu0kdbw9
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Linear ditches CSS-in-JS for StyleX, GitHub's migration pays off | daily.dev
og:description: CSS-in-JS is having a rough day. Linear finished a 1,000-PR migration from styled-components to Meta's StyleX, and a Frontend Focus roundup confirms GitHub's...
og:url: https://daily.dev/posts/linear-ditches-css-in-js-for-stylex-github-s-migration-pays-off-elu0kdbw9
og:image: https://api.daily.dev/og/posts/Elu0Kdbw9.png
og:image:alt: Linear ditches CSS-in-JS for StyleX, GitHub's migration pays off
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Linear ditches CSS-in-JS for StyleX, GitHub's migration pays off

**[Web Digest](https://daily.dev/sources/webdev_digest)** · 3 min read · 0 upvotes · 0 comments

## Summary

CSS-in-JS is having a rough day. Linear finished a 1,000-PR migration from styled-components to Meta's StyleX, and a Frontend Focus roundup confirms GitHub's own three-year CSS Modules migration cut server render time by 55%. Next.js shipped an urgent security release patching a high-severity SSRF bug. Meanwhile SvelteKit 3 hit release candidate with real breaking changes, and Instagram's Jetpack Compose rewrite shows what 'AI-native' architecture actually buys you in measurable terms.

## Content

**TLDR:** CSS-in-JS is having a rough day. Linear finished a 1,000-PR migration from styled-components to Meta's StyleX, and a Frontend Focus roundup confirms GitHub's own three-year CSS Modules migration cut server render time by 55%. Next.js shipped an urgent security release patching a high-severity SSRF bug. Meanwhile SvelteKit 3 hit release candidate with real breaking changes, and Instagram's Jetpack Compose rewrite shows what 'AI-native' architecture actually buys you in measurable terms.

---

## Linear completes 1,000-PR migration from styled-components to StyleX

Linear moved its entire codebase off runtime CSS-in-JS and onto Meta's StyleX, a compile-time atomic CSS system, across roughly 1,000 pull requests. The stated goal was runtime performance, which tracks with a broader pattern this week of teams abandoning CSS-in-JS for compile-time approaches. If you're still on styled-components, this is the kind of migration cost you should be budgeting for sooner rather than later. [Read more](https://daily.dev/posts/MYIq2xdsY)

## GitHub's three-year CSS Modules migration cut render time by 55%

GitHub spent three years moving github.com off styled-components and onto CSS Modules, and despite shipping more CSS in the process, server-side render time dropped 55%. Paired with Linear's StyleX move, this is a strong signal that runtime CSS-in-JS has a real, measurable performance tax that compile-time alternatives avoid. Two separate teams, two different compile-time approaches, same conclusion. [Read more](https://daily.dev/posts/Oi6kowdye)

## Next.js patches a high-severity SSRF bug in Image Optimization

Next.js shipped v16.3.8 and v15.5.27 fixing a high-severity SSRF vulnerability in Image Optimization, plus several medium-severity cache poisoning issues hitting SSG/ISR pages, cross-user content substitution, and Draft Mode leakage. There's also a low-severity bug exposing dev-server data through the Model Context Protocol endpoint. Upgrade now if you're running Image Optimization in production. [Read more](https://daily.dev/posts/Z46GAmpdn)

## SvelteKit 3 hits release candidate with real breaking changes

Config moves entirely out of svelte.config.js and into vite.config.ts, and the $lib alias is replaced with #lib, built on Node's native subpath imports (which now requires file extensions in import paths). A CLI migration command handles most of the upgrade automatically. It also requires Vite 8 with Rolldown and Svelte 5, so this isn't a drop-in bump — budget migration time. [Read more](https://daily.dev/feed-by-ids?id=Rk7nJAjky&id=DCd7Y65uW)

---

## Also notable

- **Instagram Direct's Jetpack Compose rewrite cut AI agent token cost by 33%:** Meta's Instagram Direct team rebuilt its Android UI to be strictly declarative Compose, which cut UI code by 50%, agent execution time by 35%, and token cost per agent session by 33%, with new Compose APIs like LazyLayoutCacheWindow (1.13.0-alpha03) born from the effort. [Read more](https://daily.dev/posts/rTeTudQP3)
- **pnpm 12.8 fixes silently-dropped CLI config flags:** pnpm 12.8 fixes cases where flags like --config.frozen-lockfile=true were silently ignored, and now warns when pnpm pack or publish would ship an untracked .env file. [Read more](https://daily.dev/posts/6GeqccKjt)
- **A three-year-old INP measurement bug just got fixed in lux.js 4.5.3:** SpeedCurve's RUM library failed to pass PerformanceObserver options correctly, leaving Event Timing on its 104ms default instead of zero, distorting INP values and attribution for over three years before the patch shipped September 30. [Read more](https://daily.dev/posts/sb7xA8ZiW)
- **ECMAScript 2026 adds Map.getOrInsert and Uint8Array base64/hex methods:** Seven finalized ES2026 features fill standard-library gaps, including Map.prototype.getOrInsert(), Array.fromAsync(), Uint8Array.toBase64/fromBase64, and Error.isError() for reliable cross-realm error detection. [Read more](https://daily.dev/posts/qbd3hapMn)

## Similar posts on daily.dev

- [Styling Linear for the future with StyleX](https://daily.dev/posts/styling-linear-for-the-future-with-stylex-qmtpzoc4t) · Reid Burke · 59 upvotes · 4 comments
- [Linear Completes 1,000-PR Migration From styled-components to Meta's StyleX](https://daily.dev/posts/linear-completes-1-000-pr-migration-from-styled-components-to-meta-s-stylex-twjve9pqu) · InfoQ · 14 upvotes · 4 comments
- [Improving site performance by shipping more CSS](https://daily.dev/posts/improving-site-performance-by-shipping-more-css-gh8jxvxku) · GitHub Blog · 46 upvotes · 8 comments

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#nextjs](https://daily.dev/tags/nextjs), [#sveltekit](https://daily.dev/tags/sveltekit)

[View this post on daily.dev](https://daily.dev/posts/linear-ditches-css-in-js-for-stylex-github-s-migration-pays-off-elu0kdbw9)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/linear-ditches-css-in-js-for-stylex-github-s-migration-pays-off-elu0kdbw9","headline":"Linear ditches CSS-in-JS for StyleX, GitHub's migration pays off","text":"CSS-in-JS is having a rough day. Linear finished a 1,000-PR migration from styled-components to Meta's StyleX, and a Frontend Focus roundup confirms GitHub's own three-year CSS Modules migration cut server render time by 55%. Next.js shipped an urgent security release patching a high-severity SSRF bug. Meanwhile SvelteKit 3 hit release candidate with real breaking changes, and Instagram's Jetpack Compose rewrite shows what 'AI-native' architecture actually buys you in measurable terms.","url":"https://daily.dev/posts/linear-ditches-css-in-js-for-stylex-github-s-migration-pays-off-elu0kdbw9","datePublished":"2026-10-01T04:17:26.024Z","dateModified":"2026-10-01T04:17:43.475Z","author":{"@type":"Organization","name":"Web Digest","logo":"https://media.daily.dev/image/upload/s--C833eNQW--/f_auto,q_auto/v1773839396/logos/webdev_digest?_a=BAMAMiiu0","url":"https://daily.dev/sources/webdev_digest"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/sources/webdev_digest","name":"Web Digest"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Web Digest","item":"https://daily.dev/sources/webdev_digest"},{"@type":"ListItem","position":3,"name":"Linear ditches CSS-in-JS for StyleX, GitHub's migration pays off"}]}
```

