Using the Devup UI extractor over StyleX source (no StyleX babel or postcss
plugin), static member access resolves but computed member access is dropped at
the call site:
const styles = stylex.create({ base: { display: "inline-block", fontWeight: "500" } });
const colorStyles = stylex.create({ red: { color: "red" }, blue: { color: "blue" } });
<div
{...stylex.props(
styles.base, // ✅ emitted
colorStyles[color], // ❌ dropped
sizeStyles[size], // ❌ dropped
)}
/>
Every one of my 1,000 components renders with only the base atoms:
The extraction itself is fine — devup-ui.css contains every variant atom
(.i{color:red}, .s{font-size:12px}, .v{padding:0}, …). They are just never
referenced:
classes defined in devup-ui.css : 34
used in index.html : 15
never referenced : 19
So the extractor handles both forms and only the call-site mapping misses the
computed one, which also leaves 19 unused rules in the stylesheet.
Versions: @devup-ui/react 1.0.40, @devup-ui/next-plugin 1.0.83, wasm 1.0.78,
Next.js 16.3.3 (Turbopack), React 19.2.4, Node 25.8.2, macOS arm64.
Using the Devup UI extractor over StyleX source (no StyleX babel or postcss
plugin), static member access resolves but computed member access is dropped at
the call site:
Every one of my 1,000 components renders with only the base atoms:
The extraction itself is fine —
devup-ui.csscontains every variant atom(
.i{color:red},.s{font-size:12px},.v{padding:0}, …). They are just neverreferenced:
So the extractor handles both forms and only the call-site mapping misses the
computed one, which also leaves 19 unused rules in the stylesheet.
Versions:
@devup-ui/react1.0.40,@devup-ui/next-plugin1.0.83, wasm 1.0.78,Next.js 16.3.3 (Turbopack), React 19.2.4, Node 25.8.2, macOS arm64.