[ Conformance ]
Conformance with popular native packages.
We test and build compatibility stubs for the 2,000 most popular React Native packages with native dependencies. Visual cases are pixel-diffed against a native device.90%
React Native · 99%
Essentials · 98%
Top 100 · 93%
Top 500 · 90%
Top 1k · 90%
Project scan
Check if your package.json is compatible.
Top 500 native libraries by weekly downloads
100%
70%
40%
10%
Verifiedpixel-diffed against a real native device
Worksloads and runs
Partialsome APIs missing
react-native
arbitrary app-specific NativeModules and complete core module methods, exact automatic scroll insets and nested-scroll edge behavior, advanced TextInput selection/autofill, uncommon platform lifecycle and accessibility events, complete UIManager/system/dev-tool semantics, LogBox and Systrace behavior, and native virtual-collection visibility modes99%
[ Essentials ]
@react-native-masked-view/masked-view
engine-level masked-view node with canvaskit saveLayer + BlendMode.DstIn alpha compositing100%
react-native-safe-area-context
rotation-specific provider frame deltas remain unassessed100%
react-native-screens
native velocity and spring fidelity, pointer cancellation, fit-to-content and non-numeric detents, numeric 1.0 native geometry, and expandsWhenScrolledToEdge remain incomplete or unverified100%
@react-native-async-storage/async-storage
native-seam only — upstream AsyncStorage JS runs from the bundle and resolves RNCAsyncStorage, which persists through tenant localStorage100%
@sentry/react-native
real event transport to DSN, native crash/session replay capture, breadcrumb persistence; intentionally absent for development simulator100%
react-native-gesture-handler
tap, pan, pinch, rotation, fling, long press, race, manual, simultaneous, force touch unavailable-hardware parity100%
react-native-get-random-values
side-effect polyfill — browser already has crypto.getRandomValues, noop is correct100%
react-native-reanimated
Reanimated 4 CSS layout, border metrics, shadows, filters, and complex-value transitions and keyframes remain incomplete99%
@react-native-community/netinfo
native network identifiers and metrics are unavailable; transport hints depend on browser support, and default Internet reachability mirrors navigator.onLine rather than probing a remote endpoint99%
react-native-keyboard-controller
KeyboardBackgroundView and ClippingScrollView lack their native platform effects; OverKeyboardView native-window fidelity beyond the observed iOS browser cases remains unverified; KeyboardExtender does not include accessory height in keyboard-frame metrics and exact native geometry remains incomplete; toolbar focus eligibility excludes hidden or zero-size inputs that native iOS counts98%
react-native-worklets
synchronous named-runtime results, runtime-id scheduling into named workers, custom queue/event-loop configuration, cross-runtime structured-clone hooks for custom registered classes, dynamic feature flag fan-out across the tenant↔shell split96%
react-native-svg
native SVG filter components and toDataURL refuse calls; ForeignObject does not render; marker context paints remain unverified; TextPath advanced layout, per-glyph positioning and objectBoundingBox paints are unsupported; pattern non-scaling strokes use the tile matrix; no font or emoji fallback parity claim95%
@react-native-community/datetimepicker
displayIOS 'default'/'compact'/'inline' calendar styles (all render as wheels), countdown mode renders the time wheel, named-zone time/datetime modes are not retained by paired proof, accentColor, public onDismiss; deprecated onChange is not covered by the retained native proof94%
react-native-webview
Safari/WebKit cross-origin URI pages without COEP-compatible response headers remain permanently loading because WebKit ignores iframe credentialless; Chromium credentialless cross-origin URI frames send no credentials, including cookies set by their own origin, and use ephemeral storage; iframe pixels in canvas screenshots; script injection, ReactNativeWebView bootstrap, and onOpenWindow for remote pages, which get no bridge at all because a browser cannot script a cross-origin frame; cross-origin ref.goBack/goForward/stopLoading and truthful canGoBack/canGoForward values; failed HTTP/refused navigation callbacks (onError/onHttpError and renderError); initial-load and form onShouldStartLoadWithRequest callbacks, allowsBackForwardNavigationGestures, userAgent, dataDetectorTypes, cacheEnabled, incognito, scalesPageToFit, originWhitelist enforcement78%
[ All Packages ]
938 / 957
Prev
1
2
…
79
Next
expo-linear-gradient
CanvasKit gradient shader via _gradientColors style prop, full API100%
expo-splash-screen
full splash wired to the sootsim canvas boot splash, including the app's REAL configured artwork. the config plugin's image + backgroundColor (+ imageWidth, resizeMode, dark variant) and the legacy expo.splash / expo.ios.splash blocks are parsed and painted on boot exactly like the native splash window. setOptions({fade,duration}) is honored: hideAsync()/hide() cross-dissolve the splash over the configured duration (default 400ms, fade default off — mirroring ios/SplashScreenManager.swift hide()); preventAutoHideAsync holds the splash until the app hides it. matches upstream index.native.ts semantics.100%
@iterable/expo-plugin
load-safe noop — expo plugin function returns empty config100%
@mattermost/react-native-turbo-log
native-seam complete: the real logger writes and rotates browser-backed log files100%
@react-native-community/checkbox
HTML checkbox input with accentColor tinting100%
@walletconnect/react-native-compat
load-safe noop — this is itself a polyfill package that monkey-patches global objects (Buffer, crypto, async-storage). on sootsim those globals are already wired by our compat layer so importing this is a no-op import; default export is an empty object. its only job is done, though WalletConnect itself is not exercised end to end here.100%
expo-android-shared-preferences
native-seam only — upstream Expo module wrapper runs from the bundle; ExpoAndroidSharedPreferences provides full persistent key-value SharedPreferences operations backed by tenant localStorage100%
expo-dev-client
faithful unavailable state: launching or controlling a native development client has no useful operation inside a browser-hosted simulator; the real package (`export * from 'expo-dev-menu'`) imports cleanly and exposes load-safe no-op controls without fabricating a guest dev menu. the 100% score covers clean import and this sane unavailable state, not native dev-client machinery100%
expo-glass-effect
liquid glass via the calibrated glassEffect materials (same oracle-diffed presets as @expo/ui glassEffect); availability helpers covered100%
expo-ignore-battery-optimizations
faithful iOS unavailable state: the published JavaScript returns false and noops before touching its Android-only module100%
expo-keep-awake
native-seam: upstream package JS runs against a shared host-backed Screen Wake Lock owner with Expo tag and foreground lifecycle semantics100%
expo-screen-corner-radius
native-seam only — the upstream Expo module wrapper runs from the bundle; getCornerRadiusSync and getCornerRadius return the live simulated device's measured display corner radius from the same canonical surface metrics the engine uses to clip its screen. the value follows device switches and is zero for square-screen devices.100%
Prev
1
2
…
79
Next