@peoplesgrocers/instantdb-qwik (1.0.63-rc.1)
Installation
@peoplesgrocers:registry=npm install @peoplesgrocers/instantdb-qwik@1.0.63-rc.1"@peoplesgrocers/instantdb-qwik": "1.0.63-rc.1"About this package
@peoplesgrocers/instantdb-qwik
Qwik bindings for InstantDB -- a realtime database you can use from the browser.
This is a fork of @instantdb/react adapted for Qwik's signal-based reactivity. It connects to a self-hosted InstantDB server.
Install
npm install @peoplesgrocers/instantdb-qwik@rc
Install the rc tag, not latest. See Versioning below.
Versioning
The version of this package is the @instantdb/core version it is built and
validated against, plus an -rc.N suffix. The suffix increments until the
pairing is known to work. 1.0.11-rc.2 means "binding for InstantDB
1.0.11, second candidate". The binding has no version line of its own, so
you can pin @instantdb/core exactly and know which binding matches.
To publish, tag qwik-v<core-version>-rc.<n>. The workflow rewrites the
workspace:* dependencies to that core version.
CAUTION: Do not run npm publish from the workspace by hand. pnpm pack
stamps @instantdb/core: 0.0.0, and the published package cannot resolve.
This is what broke 1.0.5, which still holds the latest tag.
Quick start
import { createInstantQwik, i, id } from '@peoplesgrocers/instantdb-qwik';
const schema = i.schema({
entities: {
todos: i.entity({ text: i.string(), done: i.boolean() }),
},
});
const db = createInstantQwik({
schema,
appId: 'YOUR_APP_ID',
apiURI: 'https://your-instant-server.example.com',
websocketURI: 'wss://your-instant-server.example.com',
});
Hooks
All hooks take the db signal as their first argument:
import {
useQuery,
useAuth,
useConnectionStatus,
} from '@peoplesgrocers/instantdb-qwik';
// Query data reactively
const state = useQuery(db, { todos: {} });
// Auth state
const auth = useAuth(db);
// Connection status
const status = useConnectionStatus(db);
Transacting
db.value?.transact(
db.value.tx.todos[id()].update({ text: 'Buy milk', done: false }),
);
API
This package re-exports everything from @instantdb/core (schema helpers, types, id, tx, lookup, i) plus the Qwik-specific hooks:
createInstantQwik-- create a database instanceuseQuery-- subscribe to a queryuseAuth-- subscribe to auth stateuseUser-- get the current useruseConnectionStatus-- subscribe to connection statususeLocalId-- get a stable local identifier
License
AGPL-3.0
Dependencies
Dependencies
| ID | Version |
|---|---|
| @instantdb/version | 1.0.63 |
| @peoplesgrocers/instantdb-core | 1.0.63-rc.1 |
Development dependencies
| ID | Version |
|---|---|
| @arethetypeswrong/cli | ^0.18.5 |
| @builder.io/qwik | ^1.19.2 |
| npm-run-all | ^4.1.5 |
| tshy | ^3.0.2 |
| typescript | ^5.9.3 |
| vite | ^5.2.0 |
Peer dependencies
| ID | Version |
|---|---|
| @builder.io/qwik | >=1.5.0 |