tailwind.config.js in favor of a CSS-first approach. All design tokens now live in global.css via @layer theme, giving you a single, readable source of truth for your entire design system:
@layer theme {
:root {
--primary: 23 23 23;
--background: 255 255 255;
/* ... */
}
@media (prefers-color-scheme: dark) {
:root { --primary: 255 245 245; /* ... */ }
}
}
@theme inline {
--color-primary: rgb(var(--primary));
/* maps to bg-primary, text-primary, etc. */
}
nativewind@^5.0.0-preview.2 + new react-native-css@^3.0.4 packagepostcss.config.js required (uses @tailwindcss/postcss)metro.config.js uses withNativewind from nativewind/metroreact-native-css-env.d.ts replaces nativewind-env.d.tslightningcss must be pinned to 1.30.1 in package.json overridespostcss.config.js needed.light / .dark class selectors on <html> (web) or Appearance API (native)metro.config.js uses withUniwindConfig from uniwind/metroupgrade CLI Commandupgrade command automates migrating an existing gluestack-ui v4 project to v5:
npx gluestack-ui@alpha upgrade
You'll be prompted to choose a styling engine:
◆ Which styling engine would you like to upgrade to?
│ ● NativeWind v5 (Tailwind CSS v4)
│ ○ UniWind (Tailwind CSS v4, Expo-only)
│ ○ Stay on current version
NativeWind v5 upgrade path handles:
lightningcss@1.30.1global.css to Tailwind v4 formatpostcss.config.jsmetro.config.js (preserves existing options like inlineRem)tailwind.config.js — never auto-deletedreact-native-css-env.d.tsglobal.css to UniWind formatmetro.config.js to use withUniwindConfignativewind/babel from babel.config.jstailwind.config.jsnativewind-env.d.ts with uniwind-types.d.tsNote: After running the upgrade command, commit your changes and then re-add components to get v5 versions:npx gluestack-ui add button accordion modal # etc.
@gluestack-ui/core and @gluestack-ui/utils^5.0.0-alpha.0 and ^5.0.1-alpha.0 respectively, with full support for NativeWind v5 and UniWind via cssInterop → styled() migration.
main-v5-alpha branch. The CLI automatically selects the correct branch based on the detected styling engine — no manual configuration needed.
tailwind.config.js is no longer used — migrate tokens to global.cssnativewind@^4.x → nativewind@^5.0.0-preview.2 — components must be re-addedreact-native-css is now a required peer dependency for NativeWind v5 projectslightningcss must be pinned to 1.30.1 to avoid build errorsglobal.css format changed — uses @import "tailwindcss/theme.css" instead of @tailwind directives| Engine | Expo | React Native CLI | Next.js |
|---|---|---|---|
| NativeWind v5 | ✅ | ✅ | ❌ |
| UniWind | ✅ | ❌ | ❌ |
The upgrade CLI command is not supported for Next.js projects.
npm create gluestack@alpha
npx gluestack-ui@alpha upgrade
See the Upgrade to v5 guide for full details.
We're actively gathering feedback — join us on Discord or open an issue on GitHub.