Skip to content

Conversation

@KyleAMathews
Copy link
Collaborator

Replace placeholder content with complete framework-specific documentation for all non-React adapters. Each overview includes:

  • Installation instructions
  • Basic usage with useLiveQuery (or injectLiveQuery for Angular)
  • Dependency arrays/reactive parameters documentation
  • Framework-specific code examples and best practices

These pages follow the same structure as the React overview but are tailored to each framework's conventions and only document the useLiveQuery hook (the only hook currently available for these frameworks).

🎯 Changes

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm test:pr.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Replace placeholder content with complete framework-specific documentation
for all non-React adapters. Each overview includes:

- Installation instructions
- Basic usage with useLiveQuery (or injectLiveQuery for Angular)
- Dependency arrays/reactive parameters documentation
- Framework-specific code examples and best practices

These pages follow the same structure as the React overview but are
tailored to each framework's conventions and only document the
useLiveQuery hook (the only hook currently available for these frameworks).
@changeset-bot
Copy link

changeset-bot bot commented Nov 17, 2025

⚠️ No Changeset found

Latest commit: 6d39754

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 17, 2025

More templates

@tanstack/angular-db

npm i https://pkg.pr.new/@tanstack/angular-db@842

@tanstack/db

npm i https://pkg.pr.new/@tanstack/db@842

@tanstack/db-ivm

npm i https://pkg.pr.new/@tanstack/db-ivm@842

@tanstack/electric-db-collection

npm i https://pkg.pr.new/@tanstack/electric-db-collection@842

@tanstack/offline-transactions

npm i https://pkg.pr.new/@tanstack/offline-transactions@842

@tanstack/powersync-db-collection

npm i https://pkg.pr.new/@tanstack/powersync-db-collection@842

@tanstack/query-db-collection

npm i https://pkg.pr.new/@tanstack/query-db-collection@842

@tanstack/react-db

npm i https://pkg.pr.new/@tanstack/react-db@842

@tanstack/rxdb-db-collection

npm i https://pkg.pr.new/@tanstack/rxdb-db-collection@842

@tanstack/solid-db

npm i https://pkg.pr.new/@tanstack/solid-db@842

@tanstack/svelte-db

npm i https://pkg.pr.new/@tanstack/svelte-db@842

@tanstack/trailbase-db-collection

npm i https://pkg.pr.new/@tanstack/trailbase-db-collection@842

@tanstack/vue-db

npm i https://pkg.pr.new/@tanstack/vue-db@842

commit: 6d39754

@github-actions
Copy link
Contributor

github-actions bot commented Nov 17, 2025

Size Change: 0 B

Total Size: 86 kB

ℹ️ View Unchanged
Filename Size
./packages/db/dist/esm/collection/change-events.js 1.38 kB
./packages/db/dist/esm/collection/changes.js 977 B
./packages/db/dist/esm/collection/events.js 388 B
./packages/db/dist/esm/collection/index.js 3.24 kB
./packages/db/dist/esm/collection/indexes.js 1.1 kB
./packages/db/dist/esm/collection/lifecycle.js 1.67 kB
./packages/db/dist/esm/collection/mutations.js 2.26 kB
./packages/db/dist/esm/collection/state.js 3.43 kB
./packages/db/dist/esm/collection/subscription.js 2.42 kB
./packages/db/dist/esm/collection/sync.js 2.12 kB
./packages/db/dist/esm/deferred.js 207 B
./packages/db/dist/esm/errors.js 4.11 kB
./packages/db/dist/esm/event-emitter.js 748 B
./packages/db/dist/esm/index.js 2.63 kB
./packages/db/dist/esm/indexes/auto-index.js 742 B
./packages/db/dist/esm/indexes/base-index.js 766 B
./packages/db/dist/esm/indexes/btree-index.js 1.87 kB
./packages/db/dist/esm/indexes/lazy-index.js 1.1 kB
./packages/db/dist/esm/indexes/reverse-index.js 513 B
./packages/db/dist/esm/local-only.js 837 B
./packages/db/dist/esm/local-storage.js 2.04 kB
./packages/db/dist/esm/optimistic-action.js 359 B
./packages/db/dist/esm/paced-mutations.js 496 B
./packages/db/dist/esm/proxy.js 3.22 kB
./packages/db/dist/esm/query/builder/functions.js 733 B
./packages/db/dist/esm/query/builder/index.js 3.84 kB
./packages/db/dist/esm/query/builder/ref-proxy.js 917 B
./packages/db/dist/esm/query/compiler/evaluators.js 1.35 kB
./packages/db/dist/esm/query/compiler/expressions.js 691 B
./packages/db/dist/esm/query/compiler/group-by.js 1.8 kB
./packages/db/dist/esm/query/compiler/index.js 1.96 kB
./packages/db/dist/esm/query/compiler/joins.js 2 kB
./packages/db/dist/esm/query/compiler/order-by.js 1.25 kB
./packages/db/dist/esm/query/compiler/select.js 1.07 kB
./packages/db/dist/esm/query/expression-helpers.js 1.43 kB
./packages/db/dist/esm/query/ir.js 673 B
./packages/db/dist/esm/query/live-query-collection.js 360 B
./packages/db/dist/esm/query/live/collection-config-builder.js 5.26 kB
./packages/db/dist/esm/query/live/collection-registry.js 264 B
./packages/db/dist/esm/query/live/collection-subscriber.js 1.77 kB
./packages/db/dist/esm/query/live/internal.js 130 B
./packages/db/dist/esm/query/optimizer.js 2.6 kB
./packages/db/dist/esm/query/predicate-utils.js 2.88 kB
./packages/db/dist/esm/query/subset-dedupe.js 921 B
./packages/db/dist/esm/scheduler.js 1.21 kB
./packages/db/dist/esm/SortedMap.js 1.18 kB
./packages/db/dist/esm/strategies/debounceStrategy.js 237 B
./packages/db/dist/esm/strategies/queueStrategy.js 422 B
./packages/db/dist/esm/strategies/throttleStrategy.js 236 B
./packages/db/dist/esm/transactions.js 2.9 kB
./packages/db/dist/esm/utils.js 881 B
./packages/db/dist/esm/utils/browser-polyfills.js 304 B
./packages/db/dist/esm/utils/btree.js 5.61 kB
./packages/db/dist/esm/utils/comparison.js 852 B
./packages/db/dist/esm/utils/index-optimization.js 1.51 kB
./packages/db/dist/esm/utils/type-guards.js 157 B

compressed-size-action::db-package-size

@github-actions
Copy link
Contributor

github-actions bot commented Nov 17, 2025

Size Change: 0 B

Total Size: 3.34 kB

ℹ️ View Unchanged
Filename Size
./packages/react-db/dist/esm/index.js 225 B
./packages/react-db/dist/esm/useLiveInfiniteQuery.js 1.17 kB
./packages/react-db/dist/esm/useLiveQuery.js 1.11 kB
./packages/react-db/dist/esm/useLiveSuspenseQuery.js 431 B
./packages/react-db/dist/esm/usePacedMutations.js 401 B

compressed-size-action::react-db-package-size

Correct the documentation based on actual source code and test verification:

**Solid changes:**
- Remove incorrect dependency array pattern
- Document automatic fine-grained reactivity tracking
- Show correct signal usage inside query functions
- Add examples of good vs bad patterns
- Explain that Solid tracks signals automatically without deps

**Vue changes:**
- Fix dependency array to pass refs directly, not wrapped in functions
- Show correct pattern: [minAge] instead of [() => minAge]
- Add toRef pattern for props
- Clarify getter functions are only needed for non-ref values
- Add example of using pre-created collections with reactive refs

Both frameworks now match their actual implementations as verified
against packages/*-db/src/*.ts source files and test files.
Address critical issues identified in external code review:

**Angular fixes:**
- Replace invalid destructuring syntax ({ data } = injectLiveQuery)
  with correct field assignment (query = injectLiveQuery)
- Update all templates to call signals with () as per Angular API
- Add separate examples for Angular 16+ (@input) vs 17+ (input.required)
- Add note explaining all return values are Angular signals
- Ensure all examples use query.data() and query.isLoading()

**Svelte fixes:**
- Remove incorrect $ prefix from all examples (not Svelte stores)
- Change to const query = useLiveQuery() pattern
- Update all templates to use query.data and query.isLoading directly
- Add note explaining Svelte 5 runes return reactive values via getters
- Ensure consistency: query.data (no call), query.isLoading (no call)

These changes align documentation with actual adapter implementations
and fix syntax errors that would cause compile failures.
Apply precision improvements from external code review:

**Angular:**
- Soften parameter-change behavior wording to avoid over-promising
  timing guarantees (changed from "isLoading becomes true" to
  "status()/isLoading() reflect the new query's lifecycle")
- Add template syntax version note explaining @if/@for requires
  Angular 17+ (v16 users should use *ngIf/*ngFor)

**Solid:**
- Fix contradictory intro sentence that claimed "all return values
  should be called as functions" while the note correctly stated
  "data is a plain array"
- Now states clearly: "data is a plain array and status fields are
  accessors"

All changes align documentation with exact adapter behavior and
prevent user confusion about API contracts.
Copy link
Collaborator

@samwillis samwillis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants