Dev News — 30 Sep 2026: Expo 58 en npm, 8 advisories en undici y Linear migra a StyleX
Linear completa 1.000 PRs para pasar de styled-components a StyleX
Cinco meses y más de 1.000 PRs para sacar el CSS-in-JS de runtime. Resultado: 20–35% menos trabajo en el main thread en vistas pesadas, navegación ~30% más rápida en máquinas medias y cero inyección de CSS durante transiciones. Un argumento interesante: el enfoque atómico y estricto de StyleX encapsula mejor los componentes, algo que valoran ahora que agentes de IA tocan el código. Si seguís con styled-components y React 18+, esto es un caso real para mirar.
React Native 0.88.0-rc.3: Hermes más rápido en lazy compilation y fixes de SwiftPM
Tercer RC de la 0.88, la base de Expo 58. Hermes sube a 260318099.0.4 y elimina un reserve() cuadrático durante lazy compilation. En iOS, el autolinking SwiftPM deja de recrear los package roots en cada sync (rompía builds de Xcode con libs que traen su propio Package.swift), y en Android se arregla la pérdida de entradas del view registry.
pnpm 12.8: warning si pack/publish incluye un .env no listado
Chiquito pero valioso: pnpm pack y pnpm publish ahora avisan si el tarball lleva un .env que no está en files (los .env.example quedan afuera). Cuántos secretos se filtraron así a npm, ¿no? Además, --dev ya instala las optional deps de devDependencies (los binarios de Biome y oxlint), y el modo offline elige la versión que realmente está en el store.
oxlint 1.86: compound components en only-export-components y fixes del React Compiler
La regla react/only-export-components suma allowCompoundComponents (clave si usás el patrón Menu.Item con Fast Refresh) y llega typescript/no-generated-empty-object-type. El port del React Compiler ahora maneja function expressions recursivas y trata new Date() sin argumentos como impuro. Más una tanda de fixes en no-unused-vars y require-await con await using.
Electron 44.5.0: código de error de sistema en child-process-gone y una tanda de crashes resueltos
El evento child-process-gone ahora reporta fallas de arranque con systemErrorCode, útil para diagnosticar procesos que ni llegan a levantar. Además arregla crashes con WebAuthn y llaves con PIN, en Wayland sin GTK y al llamar image.toPNG() desde un preload sandboxeado. Salió junto con 43.7.6 y 42.11.9.
Tendencias Destacadas
SwiftPM se instala en el mundo React Native: RN 0.88 y Expo 58 empujan autolinking sin CocoaPods, con fixes en cada RC.
El CSS-in-JS de runtime sigue en retirada: casos como Linear con StyleX muestran ganancias medibles en main thread.
Ojo con las dependencias HTTP y de parsing: undici, adm-zip, nodemailer y brace-expansion recibieron tandas de advisories el mismo día.
Linear completes a 1,000-PR migration from styled-components to StyleX
Five months and over 1,000 PRs to drop runtime CSS-in-JS. The result: 20–35% less main-thread work on view-heavy pages, roughly 30% faster navigation on mid-tier machines, and zero CSS injection during transitions. Notable rationale: StyleX’s strict atomic approach gives tighter component encapsulation, which the team values as AI agents increasingly touch the code. A solid real-world data point if you are still on styled-components with React 18+.
React Native 0.88.0-rc.3: faster Hermes lazy compilation and SwiftPM fixes
Third RC of 0.88, the base for Expo 58. Hermes bumps to 260318099.0.4, removing a quadratic reserve() during lazy compilation. On iOS, SwiftPM autolinking stops recreating package roots on every sync (it broke Xcode builds with libraries shipping their own Package.swift), and Android fixes lost view registry entries.
pnpm 12.8: warns when pack/publish would ship an unlisted .env
Small but valuable: pnpm pack and pnpm publish now warn when the tarball includes a .env file not listed in files (templates like .env.example are ignored). Also, --dev now installs optional deps of devDependencies (the Biome and oxlint platform binaries), and offline installs pick the newest version actually present in the store.
oxlint 1.86: compound components in only-export-components and React Compiler fixes
The react/only-export-components rule gains allowCompoundComponents (key for the Menu.Item pattern with Fast Refresh) and typescript/no-generated-empty-object-type is new. The React Compiler port now handles recursive function expressions and treats zero-argument new Date() as impure. Plus fixes in no-unused-vars and require-await counting await using.
Electron 44.5.0: system error codes in child-process-gone and a batch of crash fixes
The child-process-gone event now reports launch failures with systemErrorCode, handy for diagnosing processes that never start. It also fixes crashes with WebAuthn PIN-protected keys, Wayland without GTK, and calling image.toPNG() from a sandboxed preload. Shipped alongside 43.7.6 and 42.11.9.
Notable Trends
SwiftPM is taking root in React Native: RN 0.88 and Expo 58 push CocoaPods-free autolinking, with fixes landing in every RC.
Runtime CSS-in-JS keeps retreating: cases like Linear with StyleX show measurable main-thread gains.
Watch your HTTP and parsing dependencies: undici, adm-zip, nodemailer and brace-expansion all got advisory batches the same day.
Linear termine une migration de 1 000 PR de styled-components vers StyleX
Cinq mois et plus de 1 000 PR pour abandonner le CSS-in-JS au runtime. Résultat : 20–35 % de travail en moins sur le main thread pour les vues lourdes, une navigation ~30 % plus rapide sur des machines moyennes et zéro injection de CSS pendant les transitions. Argument notable : l’approche atomique et stricte de StyleX encapsule mieux les composants, un atout quand des agents IA modifient le code.
React Native 0.88.0-rc.3 : compilation paresseuse Hermes plus rapide et correctifs SwiftPM
Troisième RC de la 0.88, base d’Expo 58. Hermes passe en 260318099.0.4 et supprime un reserve() quadratique pendant la compilation paresseuse. Sur iOS, l’autolinking SwiftPM ne recrée plus les package roots à chaque sync (cela cassait les builds Xcode avec des libs fournissant leur propre Package.swift), et Android corrige la perte d’entrées du view registry.
pnpm 12.8 : alerte si pack/publish embarque un .env non listé
Petit mais précieux : pnpm pack et pnpm publish alertent désormais si le tarball contient un .env absent de files (les modèles comme .env.example sont ignorés). De plus, --dev installe les dépendances optionnelles des devDependencies (binaires Biome et oxlint), et le mode hors ligne choisit la version réellement présente dans le store.
oxlint 1.86 : compound components dans only-export-components et correctifs React Compiler
La règle react/only-export-components gagne allowCompoundComponents (utile pour le pattern Menu.Item avec Fast Refresh) et typescript/no-generated-empty-object-type fait son entrée. Le portage du React Compiler gère les function expressions récursives et considère new Date() sans argument comme impur. Plus des correctifs sur no-unused-vars et require-await avec await using.
Electron 44.5.0 : codes d’erreur système dans child-process-gone et série de crashs corrigés
L’événement child-process-gone signale désormais les échecs de lancement avec systemErrorCode, pratique pour diagnostiquer les processus qui ne démarrent jamais. Corrige aussi des crashs avec les clés WebAuthn à PIN, sous Wayland sans GTK et lors d’un image.toPNG() depuis un preload sandboxé. Publié avec 43.7.6 et 42.11.9.
Tendances Notables
SwiftPM s’installe dans React Native : RN 0.88 et Expo 58 poussent un autolinking sans CocoaPods, avec des correctifs à chaque RC.
Le CSS-in-JS au runtime continue de reculer : des cas comme Linear avec StyleX montrent des gains mesurables sur le main thread.
Surveillez vos dépendances HTTP et de parsing : undici, adm-zip, nodemailer et brace-expansion ont reçu des séries d’advisories le même jour.