This repository is the home of Quiltt's JavaScript projects, featuring a comprehensive suite of tools and libraries designed for ECMAScript runtimes. Built with full TypeScript support, our packages provide seamless integration for React, React Native, and Node.js environments.
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.
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.
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.
Native components optimized for React Native and Expo applications, featuring the Quiltt Connector and mobile-specific utilities for financial data integration.
- Node.js
- pnpm
# Install dependencies
pnpm install
# Build all packages
pnpm run build
# Start development mode
pnpm run dev
This project uses Vitest for unit testing and Cypress for end-to-end testing, with comprehensive coverage reporting.
# Run unit tests with coverage
pnpm run test:unit
# Run unit tests for specific package
pnpm run test:unit packages/react
# Run unit tests for specific file/pattern
pnpm run test:unit packages/core/src/api
# Run end-to-end tests
pnpm run test:e2e
# Run tests in watch mode (development)
pnpm run test
- Unit Tests: Located alongside source files with
.test.ts/.tsx
extensions - E2E Tests: Cypress tests in
examples/react-nextjs/cypress/
- Coverage: Istanbul coverage reports generated in
coverage/
directory
- Vitest: Fast unit test runner with native TypeScript support
- Cypress: End-to-end testing for React applications
- Testing Library: React and React Native testing utilities
- Happy DOM: Lightweight DOM implementation for faster tests
# Lint all packages
pnpm run lint
# Type checking
pnpm run typecheck
# Check dependency versions consistency
pnpm run check:packages
We 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.
This project uses Changesets for automated version management and publishing. The process is streamlined through GitHub Actions:
# Create a changeset (only step needed for contributors)
pnpm changeset
Once a changeset is created and merged to the main
branch, our automated release workflow handles versioning and publishing to npm via the Changesets GitHub bot.
This repository and all published packages are licensed under the MIT License. See the LICENSE file for details.