Native Metro transformer crashes on Expo's @expo/log-box CSS modules with Specifier deserialization error
Les mainteneurs répondent en général sous 3 jours
@danstepanov y travaille déjà.
Depuis le 15/7/2026.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
Native Metro transformer crashes on Expo's @expo/log-box CSS modules with failed to deserialize; expected an object-like struct named Specifier
Summary
I hit a crash in react-native-css while following the Nativewind v5 setup on a fresh Expo 55 app.
The failure is triggered when Expo's own @expo/log-box CSS modules are sent through the native react-native-css Metro transformer. A direct compile of @expo/log-box/src/overlay/Overlay.module.css reproduces the same error outside Metro.
I do not think this is the same issue as CSS @property support. That appears to be covered separately by PR #284. This issue seems to be about react-native-css trying to compile framework-owned CSS that should be left to Expo's normal CSS handling.
Environment
expo:~55.0.5react-native:0.83.2nativewind:^5.0.0-preview.2react-native-css:^3.0.4- package manager:
bun - Node:
v25.7.0
Minimal reproduction
Published repro repo:
Fast repro:
bun install
bun run repro:logbox
Current output:
Compiling node_modules/@expo/log-box/src/overlay/Overlay.module.css with react-native-css...
Error: failed to deserialize; expected an object-like struct named Specifier, found ()
The reproduction app itself uses the simple documented Nativewind Metro setup:
const { getDefaultConfig } = require("expo/metro-config");
const { withNativewind } = require("nativewind/metro");
module.exports = withNativewind(getDefaultConfig(__dirname));
Additional context
Expo's @expo/log-box package appears to own its CSS handling already:
- it ships CSS modules under
@expo/log-box/src/overlay/*.module.css - it has its own
metro.config.js - it has a dedicated
shadowDomCssTransformer.js
Because react-native-css replaces Metro's transformer globally, these Expo overlay files end up going through the native CSS compile path instead.
Expected behavior
react-native-css should not try to compile Expo log-box CSS modules with the native compiler on iOS/Android. Those files should be passed through Expo's default CSS handling so Nativewind can coexist with Expo's error overlay.
Actual behavior
The native CSS compiler crashes with:
Error: failed to deserialize; expected an object-like struct named Specifier, found ()
Proposed direction
A small Metro-level bypass for node_modules/@expo/log-box/**/*.css seems like the safest fix:
- keep normal native compilation for app CSS and Nativewind input
- skip native compilation for Expo's log-box CSS
- delegate those files to the default Expo transformer
I have a local patch sketch for this if that direction sounds acceptable.
- Langage dominant
- TypeScript
- Étoiles
- 166
- Forks
- 45
- Merge moyen
- 13 j 14 h
- PR mergées (30 j)
- 1
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de nativewind/react-native-css
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 87/100
nativewind/react-native-css#506 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
nativewind/react-native-css#510 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 3/5 1-2 jours Accessibilité débutants 56/100
nativewind/react-native-css#509 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
nativewind/react-native-css#507 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 3/5 1-2 jours Accessibilité débutants 62/100
nativewind/react-native-css#481 · 1 réaction ·
Les mainteneurs répondent en général sous 3 jours
Toutes les issues de nativewind/react-native-css
Issues similaires
-
Parallel reticle_verify opens per-flow leases without the source lease's ignoreHTTPSErrorsPeut-être pris @as992949791 l’a pris aujourd’hui. Ouvertegood first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
reticlehq/reticle#2033 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
area:quality p3-medium ready-for-agent type:docs
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
fderuiter/deruiter.dev#3589 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
manfredsteyer/angular-oauth2-oidc#1514 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
marmelab/react-admin#11431 ·
Les mainteneurs répondent en général sous 1 jour