This repository is an npm workspace that publishes the client-side packages for Seamless Auth:
| Package | What it is |
|---|---|
@seamless-auth/client |
Framework-agnostic core: the headless auth client, session store, result and error types. |
@seamless-auth/react |
React binding: AuthProvider, hooks, and optional prebuilt auth screens. Depends on the client package. |
@seamless-auth/react-native |
Headless React Native binding: provider, hooks, and the native ports for passkeys, keystore token storage, and in-app browser OAuth. |
Most React applications only install @seamless-auth/react; it brings the client
core with it. The client package exists so that the bindings share one
implementation of the auth flows and session state instead of re-implementing
them; @seamless-auth/react-native is the second binding over it.
npm install
npm run lint
npm test
npm run buildTests run as one Jest project per package from the root. The React project
resolves @seamless-auth/client to the client package's source, so a change in
the core is exercised by the React suite without a build in between. Releases
are managed with Changesets; see RELEASES.md and
CONTRIBUTING.md.
AGPL-3.0-only. See LICENSE.