# TinyBase Import Paths Every integration lives at its own `tinybase/...` subpath. Import the named function from that exact subpath. Nothing below is exported from the `tinybase` root except the core modules in the first table. Append `/with-schemas` to any subpath to get the schema-aware typing variant, for example `tinybase/synchronizers/synchronizer-ws-client/with-schemas`. Use it only in TypeScript projects that pass a schema to the Store. ## Core The `tinybase` root re-exports all of these, so `import {createStore, createMergeableStore} from 'tinybase'` is correct and is the common form. | Subpath | Exports | | -------------------------- | ---------------------- | | `tinybase/store` | `createStore` | | `tinybase/mergeable-store` | `createMergeableStore` | | `tinybase/metrics` | `createMetrics` | | `tinybase/indexes` | `createIndexes` | | `tinybase/relationships` | `createRelationships` | | `tinybase/checkpoints` | `createCheckpoints` | | `tinybase/queries` | `createQueries` | | `tinybase/middleware` | `createMiddleware` | ## Persisters The last column is the constraint the Persister places on its Store. A Persister listed as Store only cannot persist a MergeableStore, so it cannot back a synchronized setup. See [lifecycle.md](lifecycle.md) for how to start and stop one. | Subpath | Exports | Accepts | | ---------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------- | | `tinybase/persisters/persister-automerge` | `createAutomergePersister` | Store only | | `tinybase/persisters/persister-better-sqlite3` | `createBetterSqlite3Persister` | Store or MergeableStore | | `tinybase/persisters/persister-browser` | `createLocalPersister`, `createSessionPersister`, `createOpfsPersister` | Store or MergeableStore | | `tinybase/persisters/persister-capacitor-sqlite` | `createCapacitorSqlitePersister` | Store or MergeableStore | | `tinybase/persisters/persister-durable-object-sql-storage` | `createDurableObjectSqlStoragePersister` | MergeableStore only | | `tinybase/persisters/persister-durable-object-storage` | `createDurableObjectStoragePersister` | MergeableStore only | | `tinybase/persisters/persister-expo-sqlite` | `createExpoSqlitePersister` | Store or MergeableStore | | `tinybase/persisters/persister-file` | `createFilePersister` | Store or MergeableStore | | `tinybase/persisters/persister-indexed-db` | `createIndexedDbPersister` | Store or MergeableStore | | `tinybase/persisters/persister-libsql` | `createLibSqlPersister` | Store only | | `tinybase/persisters/persister-mssql` | `createMsSqlPersister` | Store or MergeableStore | | `tinybase/persisters/persister-partykit-client` | `createPartyKitPersister` | Store only | | `tinybase/persisters/persister-partykit-server` | `TinyBasePartyKitServer`, `hasStoreInStorage`, `loadStoreFromStorage`, `broadcastChanges` | Store only | | `tinybase/persisters/persister-pg` | `createPgPersister` | Store or MergeableStore | | `tinybase/persisters/persister-pglite` | `createPglitePersister` | Store or MergeableStore | | `tinybase/persisters/persister-postgres` | `createPostgresPersister` | Store or MergeableStore | | `tinybase/persisters/persister-powersync` | `createPowerSyncPersister` | Store only | | `tinybase/persisters/persister-react-native-mmkv` | `createReactNativeMmkvPersister` | Store or MergeableStore | | `tinybase/persisters/persister-react-native-sqlite` | `createReactNativeSqlitePersister` | Store or MergeableStore | | `tinybase/persisters/persister-remote` | `createRemotePersister` | Store only | | `tinybase/persisters/persister-sqlite-bun` | `createSqliteBunPersister` | Store or MergeableStore | | `tinybase/persisters/persister-sqlite-node` | `createSqliteNodePersister` | Store or MergeableStore | | `tinybase/persisters/persister-sqlite-wasm` | `createSqliteWasmPersister` | Store or MergeableStore | | `tinybase/persisters/persister-supabase` | `createSupabasePersister` | Store or MergeableStore | | `tinybase/persisters/persister-tinyjoin` | `createTinyJoinPersister` | Store or MergeableStore | | `tinybase/persisters/persister-yjs` | `createYjsPersister` | Store only | ## Synchronizers Every Synchronizer requires a MergeableStore. See [lifecycle.md](lifecycle.md) for channel and path rules, and [durable-objects.md](durable-objects.md) for the Cloudflare server. | Subpath | Exports | | -------------------------------------------------------------- | -------------------------------------------------------- | | `tinybase/synchronizers/synchronizer-broadcast-channel` | `createBroadcastChannelSynchronizer` | | `tinybase/synchronizers/synchronizer-local` | `createLocalSynchronizer` | | `tinybase/synchronizers/synchronizer-ws-client` | `createWsSynchronizer` | | `tinybase/synchronizers/synchronizer-ws-server` | `createWsServer` | | `tinybase/synchronizers/synchronizer-ws-server-durable-object` | `WsServerDurableObject`, `getWsServerDurableObjectFetch` | | `tinybase/synchronizers/synchronizer-ws-server-simple` | `createWsServerSimple` | ## Schematizers | Subpath | Exports | | ------------------------------------------- | -------------------------- | | `tinybase/schematizers/schematizer-arktype` | `createArkTypeSchematizer` | | `tinybase/schematizers/schematizer-effect` | `createEffectSchematizer` | | `tinybase/schematizers/schematizer-typebox` | `createTypeBoxSchematizer` | | `tinybase/schematizers/schematizer-valibot` | `createValibotSchematizer` | | `tinybase/schematizers/schematizer-yup` | `createYupSchematizer` | | `tinybase/schematizers/schematizer-zod` | `createZodSchematizer` | ## UI Bindings | Subpath | Purpose | | ------------------------------ | ---------------------------- | | `tinybase/ui-react` | React hooks, `Provider` | | `tinybase/ui-react-dom` | React DOM components | | `tinybase/ui-react-dom-charts` | React DOM chart components | | `tinybase/ui-react-inspector` | React inspector | | `tinybase/ui-solid` | Solid primitives, `Provider` | | `tinybase/ui-solid-dom` | Solid DOM components | | `tinybase/ui-solid-inspector` | Solid inspector | | `tinybase/ui-svelte` | Svelte reactive functions | | `tinybase/ui-svelte-dom` | Svelte DOM components | | `tinybase/ui-svelte-inspector` | Svelte inspector | `tinybase/ui-react` and `tinybase/ui-solid` both export `useCreateStore`, `useCreateMergeableStore`, `useCreateMetrics`, `useCreateIndexes`, `useCreateRelationships`, `useCreateQueries`, `useCreateCheckpoints`, `useCreatePersister`, `useCreateSynchronizer`, and `Provider`. ## Checking Against The Installed Version This table describes the version of TinyBase shipped alongside it. When working against a different version, confirm a subpath before using it: ```sh node -e "console.log(Object.keys(require('./node_modules/tinybase/package.json').exports).join('\n'))" ``` The `tinybase` package restricts its `exports`, so read that file by path rather than as `require('tinybase/package.json')`.