Skip to content

Refactor live query collection#432

Merged
kevin-dp merged 11 commits intomainfrom
kevin/refactor-live-query-collection
Aug 26, 2025
Merged

Refactor live query collection#432
kevin-dp merged 11 commits intomainfrom
kevin/refactor-live-query-collection

Conversation

@kevin-dp
Copy link
Contributor

This PR refactors the live query collection. A lot of the main logic was burried in a single big function that was closing over a lot of state. I have refactored this to use classes such that the state becomes class fields and the nested functions become class methods. This results in code being logically split into dedicated small files based on their purpose.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Aug 21, 2025

More templates

@tanstack/db

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

@tanstack/db-ivm

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

@tanstack/electric-db-collection

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

@tanstack/query-db-collection

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

@tanstack/react-db

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

@tanstack/solid-db

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

@tanstack/svelte-db

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

@tanstack/trailbase-db-collection

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

@tanstack/vue-db

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

commit: 6964eab

@github-actions
Copy link
Contributor

github-actions bot commented Aug 21, 2025

Size Change: +1.41 kB (+2.25%)

Total Size: 63.9 kB

Filename Size Change
./packages/db/dist/esm/query/live-query-collection.js 333 B -3.32 kB (-90.89%) 🏆
./packages/db/dist/esm/query/live/collection-config-builder.js 2.48 kB +2.48 kB (new file) 🆕
./packages/db/dist/esm/query/live/collection-subscriber.js 2.25 kB +2.25 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size
./packages/db/dist/esm/change-events.js 1.13 kB
./packages/db/dist/esm/collection.js 10.6 kB
./packages/db/dist/esm/deferred.js 230 B
./packages/db/dist/esm/errors.js 3 kB
./packages/db/dist/esm/index.js 1.52 kB
./packages/db/dist/esm/indexes/auto-index.js 745 B
./packages/db/dist/esm/indexes/base-index.js 605 B
./packages/db/dist/esm/indexes/btree-index.js 1.74 kB
./packages/db/dist/esm/indexes/lazy-index.js 1.25 kB
./packages/db/dist/esm/local-only.js 827 B
./packages/db/dist/esm/local-storage.js 2.03 kB
./packages/db/dist/esm/optimistic-action.js 294 B
./packages/db/dist/esm/proxy.js 4.19 kB
./packages/db/dist/esm/query/builder/functions.js 575 B
./packages/db/dist/esm/query/builder/index.js 3.79 kB
./packages/db/dist/esm/query/builder/ref-proxy.js 890 B
./packages/db/dist/esm/query/compiler/evaluators.js 1.48 kB
./packages/db/dist/esm/query/compiler/expressions.js 631 B
./packages/db/dist/esm/query/compiler/group-by.js 2.04 kB
./packages/db/dist/esm/query/compiler/index.js 2.14 kB
./packages/db/dist/esm/query/compiler/joins.js 2.36 kB
./packages/db/dist/esm/query/compiler/order-by.js 1.17 kB
./packages/db/dist/esm/query/compiler/select.js 655 B
./packages/db/dist/esm/query/ir.js 318 B
./packages/db/dist/esm/query/optimizer.js 2.44 kB
./packages/db/dist/esm/SortedMap.js 1.24 kB
./packages/db/dist/esm/transactions.js 2.29 kB
./packages/db/dist/esm/utils.js 419 B
./packages/db/dist/esm/utils/btree.js 6.02 kB
./packages/db/dist/esm/utils/comparison.js 718 B
./packages/db/dist/esm/utils/index-optimization.js 1.62 kB

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

@github-actions
Copy link
Contributor

github-actions bot commented Aug 21, 2025

Size Change: 0 B

Total Size: 1.16 kB

ℹ️ View Unchanged
Filename Size
./packages/react-db/dist/esm/index.js 152 B
./packages/react-db/dist/esm/useLiveQuery.js 1.01 kB

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

@kevin-dp kevin-dp requested a review from samwillis August 25, 2025 06:56
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.

This is great, no code changes, just nits on file names.

@changeset-bot
Copy link

changeset-bot bot commented Aug 26, 2025

🦋 Changeset detected

Latest commit: 6964eab

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 8 packages
Name Type
@tanstack/db Patch
@tanstack/electric-db-collection Patch
@tanstack/query-db-collection Patch
@tanstack/react-db Patch
@tanstack/solid-db Patch
@tanstack/svelte-db Patch
@tanstack/trailbase-db-collection Patch
@tanstack/vue-db Patch

Not sure what this means? Click here to learn what changesets are.

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

@kevin-dp kevin-dp merged commit aecbcc3 into main Aug 26, 2025
6 checks passed
@kevin-dp kevin-dp deleted the kevin/refactor-live-query-collection branch August 26, 2025 07:58
@github-actions github-actions bot mentioned this pull request Aug 26, 2025
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.

2 participants