@livestore/livestore 0.4.0-dev.22 → 0.4.0-dev.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/QueryCache.js +1 -1
- package/dist/QueryCache.js.map +1 -1
- package/dist/SqliteDbWrapper.d.ts +5 -5
- package/dist/SqliteDbWrapper.d.ts.map +1 -1
- package/dist/SqliteDbWrapper.js +8 -8
- package/dist/SqliteDbWrapper.js.map +1 -1
- package/dist/SqliteDbWrapper.test.js +2 -2
- package/dist/SqliteDbWrapper.test.js.map +1 -1
- package/dist/effect/LiveStore.d.ts +14 -7
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +0 -15
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/effect/LiveStore.test.d.ts +2 -0
- package/dist/effect/LiveStore.test.d.ts.map +1 -0
- package/dist/effect/LiveStore.test.js +42 -0
- package/dist/effect/LiveStore.test.js.map +1 -0
- package/dist/live-queries/base-class.d.ts +3 -3
- package/dist/live-queries/base-class.d.ts.map +1 -1
- package/dist/live-queries/base-class.js +2 -2
- package/dist/live-queries/base-class.js.map +1 -1
- package/dist/live-queries/client-document-get-query.d.ts +1 -1
- package/dist/live-queries/client-document-get-query.d.ts.map +1 -1
- package/dist/live-queries/client-document-get-query.js +1 -1
- package/dist/live-queries/client-document-get-query.js.map +1 -1
- package/dist/live-queries/computed.d.ts.map +1 -1
- package/dist/live-queries/computed.js +2 -2
- package/dist/live-queries/computed.js.map +1 -1
- package/dist/live-queries/db-query.js +14 -14
- package/dist/live-queries/db-query.js.map +1 -1
- package/dist/live-queries/db-query.test.js +2 -2
- package/dist/live-queries/db-query.test.js.map +1 -1
- package/dist/live-queries/signal.test.js +2 -2
- package/dist/live-queries/signal.test.js.map +1 -1
- package/dist/mod.d.ts +1 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js.map +1 -1
- package/dist/reactive.d.ts +9 -9
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +9 -26
- package/dist/reactive.js.map +1 -1
- package/dist/reactive.test.js +2 -2
- package/dist/reactive.test.js.map +1 -1
- package/dist/store/StoreRegistry.d.ts +30 -5
- package/dist/store/StoreRegistry.d.ts.map +1 -1
- package/dist/store/StoreRegistry.js +54 -31
- package/dist/store/StoreRegistry.js.map +1 -1
- package/dist/store/StoreRegistry.test.js +251 -250
- package/dist/store/StoreRegistry.test.js.map +1 -1
- package/dist/store/create-store.d.ts +6 -2
- package/dist/store/create-store.d.ts.map +1 -1
- package/dist/store/create-store.js +13 -7
- package/dist/store/create-store.js.map +1 -1
- package/dist/store/devtools.d.ts +1 -1
- package/dist/store/devtools.d.ts.map +1 -1
- package/dist/store/devtools.js +3 -3
- package/dist/store/devtools.js.map +1 -1
- package/dist/store/store-eventstream.test.js +2 -2
- package/dist/store/store-eventstream.test.js.map +1 -1
- package/dist/store/store-types.d.ts +70 -5
- package/dist/store/store-types.d.ts.map +1 -1
- package/dist/store/store-types.js.map +1 -1
- package/dist/store/store-types.test.js +1 -1
- package/dist/store/store-types.test.js.map +1 -1
- package/dist/store/store.d.ts +81 -2
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +128 -45
- package/dist/store/store.js.map +1 -1
- package/dist/utils/dev.js.map +1 -1
- package/dist/utils/stack-info.js +2 -2
- package/dist/utils/stack-info.js.map +1 -1
- package/dist/utils/tests/fixture.d.ts +1 -1
- package/dist/utils/tests/fixture.d.ts.map +1 -1
- package/dist/utils/tests/fixture.js.map +1 -1
- package/dist/utils/tests/otel.d.ts.map +1 -1
- package/dist/utils/tests/otel.js +5 -5
- package/dist/utils/tests/otel.js.map +1 -1
- package/package.json +58 -17
- package/src/QueryCache.ts +1 -1
- package/src/SqliteDbWrapper.test.ts +4 -2
- package/src/SqliteDbWrapper.ts +12 -11
- package/src/ambient.d.ts +0 -7
- package/src/effect/LiveStore.test.ts +61 -0
- package/src/effect/LiveStore.ts +17 -26
- package/src/live-queries/__snapshots__/db-query.test.ts.snap +336 -231
- package/src/live-queries/base-class.ts +7 -6
- package/src/live-queries/client-document-get-query.ts +4 -2
- package/src/live-queries/computed.ts +3 -2
- package/src/live-queries/db-query.test.ts +3 -2
- package/src/live-queries/db-query.ts +15 -15
- package/src/live-queries/signal.test.ts +3 -2
- package/src/mod.ts +1 -0
- package/src/reactive.test.ts +3 -2
- package/src/reactive.ts +22 -23
- package/src/store/StoreRegistry.test.ts +317 -293
- package/src/store/StoreRegistry.ts +63 -38
- package/src/store/create-store.ts +26 -11
- package/src/store/devtools.ts +5 -6
- package/src/store/store-eventstream.test.ts +4 -2
- package/src/store/store-types.test.ts +3 -1
- package/src/store/store-types.ts +47 -8
- package/src/store/store.ts +172 -55
- package/src/utils/dev.ts +2 -2
- package/src/utils/stack-info.ts +2 -2
- package/src/utils/tests/fixture.ts +2 -1
- package/src/utils/tests/otel.ts +8 -7
- package/docs/api/index.md +0 -3
- package/docs/building-with-livestore/complex-ui-state/index.md +0 -3
- package/docs/building-with-livestore/crud/index.md +0 -3
- package/docs/building-with-livestore/data-modeling/index.md +0 -30
- package/docs/building-with-livestore/debugging/index.md +0 -17
- package/docs/building-with-livestore/devtools/index.md +0 -79
- package/docs/building-with-livestore/events/index.md +0 -355
- package/docs/building-with-livestore/examples/ai-agent/index.md +0 -5
- package/docs/building-with-livestore/examples/todo-workspaces/index.md +0 -885
- package/docs/building-with-livestore/examples/turnbased-game/index.md +0 -7
- package/docs/building-with-livestore/opentelemetry/index.md +0 -227
- package/docs/building-with-livestore/production-checklist/index.md +0 -5
- package/docs/building-with-livestore/reactivity-system/index.md +0 -202
- package/docs/building-with-livestore/rules-for-ai-agents/index.md +0 -9
- package/docs/building-with-livestore/state/materializers/index.md +0 -300
- package/docs/building-with-livestore/state/sql-queries/index.md +0 -94
- package/docs/building-with-livestore/state/sqlite/index.md +0 -45
- package/docs/building-with-livestore/state/sqlite-schema/index.md +0 -306
- package/docs/building-with-livestore/state/sqlite-schema-effect/index.md +0 -300
- package/docs/building-with-livestore/store/index.md +0 -625
- package/docs/building-with-livestore/syncing/index.md +0 -136
- package/docs/building-with-livestore/tools/cli/index.md +0 -177
- package/docs/building-with-livestore/tools/mcp/index.md +0 -187
- package/docs/examples/cloudflare-adapter/index.md +0 -44
- package/docs/examples/expo-adapter/index.md +0 -44
- package/docs/examples/index.md +0 -55
- package/docs/examples/node-adapter/index.md +0 -44
- package/docs/examples/web-adapter/index.md +0 -52
- package/docs/framework-integrations/custom-elements/index.md +0 -142
- package/docs/framework-integrations/react-integration/index.md +0 -937
- package/docs/framework-integrations/solid-integration/index.md +0 -293
- package/docs/framework-integrations/svelte-integration/index.md +0 -42
- package/docs/framework-integrations/vue-integration/index.md +0 -294
- package/docs/getting-started/expo/index.md +0 -882
- package/docs/getting-started/node/index.md +0 -115
- package/docs/getting-started/react-web/index.md +0 -626
- package/docs/getting-started/solid/index.md +0 -3
- package/docs/getting-started/vue/index.md +0 -471
- package/docs/index.md +0 -208
- package/docs/llms.txt +0 -146
- package/docs/misc/CODE_OF_CONDUCT/index.md +0 -133
- package/docs/misc/FAQ/index.md +0 -37
- package/docs/misc/community/index.md +0 -88
- package/docs/misc/credits/index.md +0 -14
- package/docs/misc/design-partners/index.md +0 -13
- package/docs/misc/package-management/index.md +0 -21
- package/docs/misc/performance/index.md +0 -25
- package/docs/misc/resources/index.md +0 -46
- package/docs/misc/state-of-the-project/index.md +0 -37
- package/docs/misc/troubleshooting/index.md +0 -82
- package/docs/overview/concepts/index.md +0 -78
- package/docs/overview/how-livestore-works/index.md +0 -56
- package/docs/overview/introduction/index.md +0 -413
- package/docs/overview/technology-comparison/index.md +0 -40
- package/docs/overview/when-livestore/index.md +0 -81
- package/docs/overview/why-livestore/index.md +0 -111
- package/docs/patterns/ai/index.md +0 -15
- package/docs/patterns/anonymous-user-transition/index.md +0 -10
- package/docs/patterns/app-evolution/index.md +0 -72
- package/docs/patterns/auth/index.md +0 -377
- package/docs/patterns/effect/index.md +0 -1505
- package/docs/patterns/encryption/index.md +0 -6
- package/docs/patterns/external-data/index.md +0 -5
- package/docs/patterns/file-management/index.md +0 -11
- package/docs/patterns/file-structure/index.md +0 -14
- package/docs/patterns/list-ordering/index.md +0 -369
- package/docs/patterns/offline/index.md +0 -32
- package/docs/patterns/orm/index.md +0 -18
- package/docs/patterns/presence/index.md +0 -11
- package/docs/patterns/rich-text-editing/index.md +0 -11
- package/docs/patterns/server-side-clients/index.md +0 -97
- package/docs/patterns/side-effects/index.md +0 -11
- package/docs/patterns/state-machines/index.md +0 -11
- package/docs/patterns/storybook/index.md +0 -209
- package/docs/patterns/undo-redo/index.md +0 -9
- package/docs/patterns/version-control/index.md +0 -8
- package/docs/platform-adapters/cloudflare-durable-object-adapter/index.md +0 -453
- package/docs/platform-adapters/electron-adapter/index.md +0 -15
- package/docs/platform-adapters/expo-adapter/index.md +0 -262
- package/docs/platform-adapters/node-adapter/index.md +0 -160
- package/docs/platform-adapters/tauri-adapter/index.md +0 -15
- package/docs/platform-adapters/web-adapter/index.md +0 -287
- package/docs/sustainable-open-source/contributing/docs/index.md +0 -94
- package/docs/sustainable-open-source/contributing/info/index.md +0 -63
- package/docs/sustainable-open-source/contributing/monorepo/index.md +0 -195
- package/docs/sustainable-open-source/sponsoring/index.md +0 -104
- package/docs/sync-providers/cloudflare/index.md +0 -773
- package/docs/sync-providers/custom/index.md +0 -65
- package/docs/sync-providers/electricsql/index.md +0 -159
- package/docs/sync-providers/s2/index.md +0 -230
- package/docs/tutorial/0-welcome/index.md +0 -48
- package/docs/tutorial/1-setup-starter-project/index.md +0 -105
- package/docs/tutorial/2-deploy-to-cloudflare/index.md +0 -195
- package/docs/tutorial/3-read-and-write-todos-via-livestore/index.md +0 -530
- package/docs/tutorial/4-sync-data-via-cloudflare/index.md +0 -210
- package/docs/tutorial/5-expand-business-logic/index.md +0 -174
- package/docs/tutorial/6-persist-ui-state/index.md +0 -453
- package/docs/tutorial/7-next-steps/index.md +0 -22
- package/docs/understanding-livestore/design-decisions/index.md +0 -33
- package/docs/understanding-livestore/event-sourcing/index.md +0 -40
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Node
|
|
2
|
-
|
|
3
|
-
## Minimal example
|
|
4
|
-
|
|
5
|
-
## `getting-started/node/minimal-example.ts`
|
|
6
|
-
|
|
7
|
-
```ts filename="getting-started/node/minimal-example.ts"
|
|
8
|
-
/** biome-ignore-all lint/correctness/noUnusedVariables: docs snippet keeps inline setup */
|
|
9
|
-
// ---cut---
|
|
10
|
-
|
|
11
|
-
const adapter = makeAdapter({
|
|
12
|
-
storage: { type: 'fs' },
|
|
13
|
-
// sync: { backend: makeWsSync({ url: 'ws://localhost:8787' }) },
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
const main = async () => {
|
|
17
|
-
const store = await createStorePromise({ adapter, schema, storeId: 'demo-store' })
|
|
18
|
-
|
|
19
|
-
const todos = store.query(tables.todos)
|
|
20
|
-
console.log(todos)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
main().catch(() => undefined)
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### `getting-started/node/livestore/schema.ts`
|
|
27
|
-
|
|
28
|
-
```ts filename="getting-started/node/livestore/schema.ts"
|
|
29
|
-
|
|
30
|
-
export const tables = {
|
|
31
|
-
todos: State.SQLite.table({
|
|
32
|
-
name: 'todos',
|
|
33
|
-
columns: {
|
|
34
|
-
id: State.SQLite.text({ primaryKey: true }),
|
|
35
|
-
text: State.SQLite.text(),
|
|
36
|
-
completed: State.SQLite.boolean({ default: false }),
|
|
37
|
-
},
|
|
38
|
-
}),
|
|
39
|
-
} as const
|
|
40
|
-
|
|
41
|
-
export const events = {
|
|
42
|
-
todoCreated: Events.synced({
|
|
43
|
-
name: 'v1.TodoCreated',
|
|
44
|
-
schema: Schema.Struct({ id: Schema.String, text: Schema.String }),
|
|
45
|
-
}),
|
|
46
|
-
} as const
|
|
47
|
-
|
|
48
|
-
const materializers = State.SQLite.materializers(events, {
|
|
49
|
-
[events.todoCreated.name]: defineMaterializer(events.todoCreated, ({ id, text }) =>
|
|
50
|
-
tables.todos.insert({ id, text, completed: false }),
|
|
51
|
-
),
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
const state = State.SQLite.makeState({ tables, materializers })
|
|
55
|
-
|
|
56
|
-
export const schema = makeSchema({ events, state })
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Option A: Quick start
|
|
60
|
-
|
|
61
|
-
For a quick start, we recommend using our template app following the steps below.
|
|
62
|
-
|
|
63
|
-
{/* For existing projects, see [Existing project setup](#existing-project-setup). */}
|
|
64
|
-
|
|
65
|
-
<Steps>
|
|
66
|
-
|
|
67
|
-
1. **Set up project from template**
|
|
68
|
-
|
|
69
|
-
<Tabs syncKey="package-manager">
|
|
70
|
-
<TabItem label="bun">
|
|
71
|
-
<Code code={makeCreate('node-todomvc-sync-cf', 'bunx')} lang="sh" />
|
|
72
|
-
</TabItem>
|
|
73
|
-
<TabItem label="pnpm">
|
|
74
|
-
<Code code={makeCreate('node-todomvc-sync-cf', 'pnpm dlx')} lang="sh" />
|
|
75
|
-
</TabItem>
|
|
76
|
-
<TabItem label="npm">
|
|
77
|
-
<Code code={makeCreate('node-todomvc-sync-cf', 'npx')} lang="sh" />
|
|
78
|
-
</TabItem>
|
|
79
|
-
</Tabs>
|
|
80
|
-
|
|
81
|
-
Replace `livestore-app` with your desired app name.
|
|
82
|
-
|
|
83
|
-
2. **Install dependencies**
|
|
84
|
-
|
|
85
|
-
It's strongly recommended to use `bun` or `pnpm` for the simplest and most reliable dependency setup (see [note on package management](/misc/package-management) for more details).
|
|
86
|
-
|
|
87
|
-
<Tabs syncKey="package-manager">
|
|
88
|
-
<TabItem label="bun">
|
|
89
|
-
<Code code="bun install" lang="sh" />
|
|
90
|
-
</TabItem>
|
|
91
|
-
<TabItem label="pnpm">
|
|
92
|
-
<Code code="pnpm install" lang="sh" />
|
|
93
|
-
</TabItem>
|
|
94
|
-
<TabItem label="npm">
|
|
95
|
-
<Code code="npm install" lang="sh" />
|
|
96
|
-
</TabItem>
|
|
97
|
-
</Tabs>
|
|
98
|
-
|
|
99
|
-
Pro tip: You can use [direnv](https://direnv.net/) to manage environment variables.
|
|
100
|
-
|
|
101
|
-
3. **Run dev environment**
|
|
102
|
-
|
|
103
|
-
<Tabs syncKey="package-manager">
|
|
104
|
-
<TabItem label="bun">
|
|
105
|
-
<Code code="bun start" lang="sh" />
|
|
106
|
-
</TabItem>
|
|
107
|
-
<TabItem label="pnpm">
|
|
108
|
-
<Code code="pnpm start" lang="sh" />
|
|
109
|
-
</TabItem>
|
|
110
|
-
<TabItem label="npm">
|
|
111
|
-
<Code code="npm run start" lang="sh" />
|
|
112
|
-
</TabItem>
|
|
113
|
-
</Tabs>
|
|
114
|
-
|
|
115
|
-
</Steps>
|