Compatibility
The kit tracks the current Expo SDK. Native module versions are pinned by the SDK,
not by us — which is why expo install matters more than the table below.
Current
| Dependency | Version |
|---|---|
| React | 19.2.x |
| React Native | 0.86.x |
| Expo SDK | 57 |
| Reanimated | 4.5.x |
| Worklets | 0.10.x |
| Tamagui | 2.4.x (internal — you never install it) |
| react-native-web | 0.21.x |
| Next.js (web) | 16.x, built with --webpack |
| Node (tooling) | ≥ 20 |
| Package | Version | Exports | What it is |
|---|---|---|---|
@knitui/core | 0.8.0 | 123 | Design tokens, theme and cross-platform primitives for Knit UI. |
@knitui/components | 0.8.0 | 552 | Cross-platform (React Native + Web) component kit for Knit UI. |
@knitui/hooks | 0.8.0 | 77 | Shared React hooks used across Knit UI. |
@knitui/icons | 0.8.0 | 6,157 | Hybrid React + React Native icon kit generated from @tabler/icons SVG data. |
@knitui/emoji | 0.8.0 | 3,811 | Hybrid React + React Native emoji kit generated from Google Noto Emoji SVG data. |
@knitui/dates | 0.8.0 | 198 | Date and time components for Knit UI. |
@knitui/carousel | 0.3.7 | 65 | Cross-platform carousel for Knit UI (Embla-style engine). |
@knitui/map | 0.4.3 | 105 | Cross-platform MapLibre map surface for Knit UI. |
@knitui/media | 0.4.1 | 8 | Audio and video players, playlists and visualizers for Knit UI. |
@knitui/graphics | 0.8.0 | 86 | Skia-powered graphics primitives and effects for Knit UI. |
@knitui/sheet | 0.3.7 | 14 | Cross-platform bottom sheet for Knit UI. |
@knitui/mediaquery | 0.8.0 | 30 | Cross-platform media queries and responsive breakpoints for Knit UI (React Native + web, SSR-safe). |
@knitui/plugins | 0.1.11 | 0 | Pre-configured Tamagui build-tool plugins for the knitui UI kit (babel, metro, next, vite, webpack) plus the Next.js SSR provider. |
Rules of thumb
- One copy of everything.
react,react-native,react-native-reanimatedandreact-native-workletsmust resolve to a single version across your whole tree. Two copies is the cause of the Hermes"property is not writable"crash and of"Another instance of Reanimated". Pin them in your package manager's overrides. - Let the SDK choose native versions.
npx expo installpicks what the SDK was built against;npx expo install --checkaudits a project you have drifted. Dependabot does not know about this and will happily propose a version the SDK cannot load. - Next needs webpack. The Tamagui compiler is a webpack plugin.
next dev --webpack,next build --webpack.
Upgrading an Expo SDK
The order that works:
- Bump
expoand runnpx expo install --fix. - Bump the kit packages.
- Re-check your overrides — the SDK's
react-nativeversion usually changes, and a stale override pins the old one. - Rebuild native (
expo prebuild --cleanif you use CNG).
Every kit release states which SDK it targets in the changelog.
Older releases
The kit is pre-1.0 and moves with the SDK; there is no long-term support branch. If you are pinned to an older Expo SDK, pin the kit to the release that shipped against it rather than mixing.