This repository is the unified home of Quiltt's SDKs, covering JavaScript/TypeScript, Android, Flutter, and iOS. All packages are versioned and released together.
Quiltt's unified API streamlines fintech application development by providing a single point of integration to multiple open banking data and enrichment providers. Our platform simplifies complex financial data workflows, enabling developers to focus on building exceptional user experiences.
The CI matrix tests against the following versions. Update this table when changing the matrix in .github/workflows/ci-*.yml.
| Platform | Minimum supported | Latest tested |
|---|---|---|
| Node.js | 20 | 24 |
| Android (JDK) | 17 (AGP 8.x minimum) | 25 (current LTS) |
| Flutter | 3.32.0 (Dart >= 3.8.0) | 3.41.6 |
| iOS | 17.5 | 18.2 |
For comprehensive documentation including core concepts, guides, and API reference, visit https://quiltt.dev.
Each package includes detailed setup instructions and examples. See the individual package READMEs below for specific implementation details:
JavaScript / TypeScript: Core · React · Vue · React Native · Capacitor
Native Mobile: Android · Flutter · iOS
The foundational package providing essential functionality for JavaScript-based Quiltt applications. Features include Auth API client, JWT handling, observables, storage management, timeout utilities, and comprehensive TypeScript types.
React components and hooks for seamless Quiltt integration, built on a powerful Apollo-based GraphQL client. Includes providers, authentication hooks, and pre-built UI components.
Vue 3 components and composables for integrating Quiltt Connector, including plugin-based session management and connector lifecycle utilities.
Native components optimized for React Native and Expo applications, featuring the Quiltt Connector and mobile-specific utilities for financial data integration.
Capacitor plugin and framework adapters for integrating Quiltt Connector in iOS and Android apps with native OAuth deep-link handling.
Native Android SDK (Kotlin) for integrating Quiltt Connector. Supports View-based and Jetpack Compose layouts with App Links for OAuth deep-link handling. Requires Android API Level 26+.
Flutter SDK (Dart) providing a Widget for integrating Quiltt Connector into iOS and Android Flutter apps.
Native iOS SDK (Swift) for integrating Quiltt Connector via Swift Package Manager. Supports iOS 13+.
- Node.js
- pnpm
# Install dependencies
pnpm install
# Build all packages
pnpm run build
# Start development mode
pnpm run devThis project uses Vitest for JavaScript unit testing, Playwright for web E2E testing, Detox for React Native E2E testing, and platform-native toolchains for mobile packages.
# Run JS/TS unit tests with coverage
pnpm run test:unit
# Run unit tests for specific package
pnpm run test:unit -- --project react
# Run end-to-end tests
pnpm run test:e2eFor platform-specific testing:
# Android — run from packages/android/
./gradlew connector:test
# Flutter — run from packages/flutter/
flutter test
# iOS — run from packages/ios/
swift test- Unit Tests (JS/TS): Located in
packages/<name>/tests/with.test.ts/.tsxextensions - Web E2E Tests: Playwright tests in
examples/react-nextjs/e2e/,examples/vue-nuxt/e2e/,examples/capacitor-react/e2e/, andexamples/capacitor-vue/e2e/ - Mobile E2E Tests: Detox smoke tests in
examples/react-native-expo/e2e/; Maestro connector flows inexamples/react-native-expo/maestro/ - Android Tests: JUnit tests in
packages/android/connector/src/test/ - Flutter Tests: Dart tests in
packages/flutter/test/ - iOS Tests: Swift tests in
packages/ios/Tests/ - Coverage: Istanbul coverage reports generated in
coverage/directory
- Vitest: Fast unit test runner with native TypeScript support
- Playwright: Component and end-to-end testing for web examples
- Detox: End-to-end smoke testing for React Native example apps
- Maestro: Connector flow and OAuth callback testing for React Native on Android and iOS
- Testing Library: React and React Native testing utilities
- Happy DOM: Lightweight DOM implementation for faster tests
- Gradle / JUnit: Android unit and instrumentation testing
- Flutter Test: Flutter/Dart testing
- Swift Testing / XCTest: iOS testing
# Lint all JS/TS packages
pnpm run lint
# Type checking
pnpm run typecheck
# Check dependency versions consistency
pnpm run check:packagesWe welcome contributions from developers at all skill levels. Whether you're reporting bugs, proposing features, or contributing code, your involvement drives the improvement of these projects.
Please read our Contributing Guidelines and Code of Conduct for detailed information on how to get started. For information on creating releases and changesets, see our Release Documentation.
All packages in this repository are released together at the same version:
- JS/TS packages (
@quiltt/core,@quiltt/react, etc.) are published to npm via Changesets - Mobile packages (Android, Flutter, iOS) are published to Maven Central, pub.dev, and GitHub Releases automatically when the JS packages release
# Create a changeset (only step needed for contributors)
pnpm changesetOnce a changeset is created and merged to the main branch, our automated release workflow handles versioning and publishing for all packages. For detailed information, see our Release Documentation.
This repository and all published packages are licensed under the MIT License. See the LICENSE file for details.