$ show plaid/react-native-plaid-link-sdk
This is a React Native SDK (v13) that wraps Plaid's native LinkKit SDK (iOS) and sdk-core (Android) using Expo Modules. It provides a session-based API for integrating Plaid Link flowsβstandard account linking, identity verification, Layer (phone-based), headless (no UI), and embedded searchβas well as FinanceKit sync for Apple Card data on iOS. The architecture is a TypeScript layer with native implementations in Swift and Kotlin. Key entry points are async session creator functions (`createPlaidLinkSession`, `createPlaidIdentityVerificationSession`, etc.) that return session objects with `open()`/`start()` methods, and a React Native component `PlaidEmbeddedSearchView`. The SDK does not handle link token generation; developers must obtain tokens from their own backend. It supports both Expo managed (development builds) and bare React Native workflows, with CI testing on Expo 52+ and React Native 0.76+. The codebase is well-structured with comprehensive TypeScript types, contract tests that validate native-to-JS payload keys, version sync tests, and migration diagnostics that provide helpful errors for removed v12 APIs.
The LLM identified 1 files worth highlighting for reuse:
Exports all removed pre-v13 APIs (e.g., `create`, `open`, `PlaidLink`) as functions that throw runtime errors with the exact v13 replacement name and a link to the migration guide. This pattern allows existing imports to continue compiling while guiding developers to the new API without silent failures. It is a self-contained, reusable technique for any library undergoing breaking changes, ensuring clear migration paths without maintaining deprecated wrapper implementations.