Skip to content

feat: Add @data-client/vue - #3549

Merged
ntucker merged 13 commits into
masterfrom
vue
Oct 21, 2025
Merged

feat: Add @data-client/vue#3549
ntucker merged 13 commits into
masterfrom
vue

Conversation

@ntucker

@ntucker ntucker commented Sep 22, 2025

Copy link
Copy Markdown
Collaborator

Fixes # .

Motivation

Solution

Open questions

Prompts

@data-client/core uses a undirectional reducer state architecture with middlewares provided by managers for global side effect handling. These middlewares have a similar api to redux, but without things like thunks. Use @data-client/core to build out the @data-client/vue package. Model its composables after the @data-client/react hooks.

Step 1 is to fit the reducers and context into a way that works in vue 3. It's critical the Managers' middleware can get hooked into the reducer flow as well.
Step 2 is to build the store that holds the state managed by the reducers, middleware from managers, and controller.
Step 3 is to build the first suspense based composables with the same interface as useSuspense() from @data-client/react
does throwing an error or a promise work the same way in vue 3 or is there another way suspense works?
make sure this works in vue 3 correctly. then setup some __tests__. remember we use jest here note vite
fix our eslint config so files in packages/vue do not get react specific rules applied (especially the rules of hooks)
now add usequery and usesubscription and uselive. write good tests for all of them to ensure they work as expected

@changeset-bot

changeset-bot Bot commented Sep 22, 2025

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7925db2

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

@github-actions

github-actions Bot commented Sep 22, 2025

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 77.8 kB

ℹ️ View Unchanged
Filename Size
examples/test-bundlesize/dist/App.js 3.42 kB
examples/test-bundlesize/dist/polyfill.js 311 B
examples/test-bundlesize/dist/rdcClient.js 10.1 kB
examples/test-bundlesize/dist/rdcEndpoint.js 5.68 kB
examples/test-bundlesize/dist/react.js 57.5 kB
examples/test-bundlesize/dist/webpack-runtime.js 726 B

compressed-size-action

@codecov

codecov Bot commented Sep 26, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.27%. Comparing base (ee81ac2) to head (7925db2).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3549   +/-   ##
=======================================
  Coverage   98.27%   98.27%           
=======================================
  Files         130      130           
  Lines        2258     2258           
  Branches      455      455           
=======================================
  Hits         2219     2219           
  Misses         10       10           
  Partials       29       29           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ntucker ntucker changed the title feat: Add @data-client/vue skeleton feat: Add @data-client/vue Oct 21, 2025
@ntucker
ntucker marked this pull request as ready for review October 21, 2025 14:40
@ntucker
ntucker merged commit 4453fbc into master Oct 21, 2025
22 checks passed
@ntucker
ntucker deleted the vue branch October 21, 2025 14:41
ntucker added a commit that referenced this pull request Oct 22, 2025
* feat: Add @data-client/vue skeleton

* feat: Add basics of vue

* feat: useSubscription

* feat: Add useQuery

* feat: Add more composables

* feat: Add useFetch()

* Update co pilot instructions

* new version

* [feat] test and composables improvements

* fix: DataClientPlugin

* enhance: Use plugin for tests

* enhance: Update useQuery tests and testing lib

* feat: GC policy tests
ntucker added a commit that referenced this pull request Oct 22, 2025
* feat: Add @data-client/vue skeleton

* feat: Add basics of vue

* feat: useSubscription

* feat: Add useQuery

* feat: Add more composables

* feat: Add useFetch()

* Update co pilot instructions

* new version

* [feat] test and composables improvements

* fix: DataClientPlugin

* enhance: Use plugin for tests

* enhance: Update useQuery tests and testing lib

* feat: GC policy tests
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.

1 participant