Skip to content

Conversation

ntucker
Copy link
Collaborator

@ntucker ntucker commented Sep 22, 2025

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

Copy link

changeset-bot bot commented Sep 22, 2025

⚠️ No Changeset found

Latest commit: 902c441

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

Copy link
Contributor

github-actions bot commented Sep 22, 2025

Size Change: 0 B

Total Size: 77.7 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.64 kB
examples/test-bundlesize/dist/react.js 57.5 kB
examples/test-bundlesize/dist/webpack-runtime.js 726 B

compressed-size-action

Copy link

codecov bot commented Sep 26, 2025

Codecov Report

❌ Patch coverage is 90.26549% with 22 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.53%. Comparing base (92bd01c) to head (902c441).

Files with missing lines Patch % Lines
packages/vue/src/providers/getDefaultManagers.ts 61.90% 3 Missing and 5 partials ⚠️
packages/vue/src/consumers/useSubscription.ts 78.57% 1 Missing and 2 partials ⚠️
packages/vue/src/consumers/useSuspense.ts 84.21% 0 Missing and 3 partials ⚠️
packages/vue/src/providers/provideDataClient.ts 93.75% 1 Missing and 2 partials ⚠️
packages/vue/src/consumers/useDebounce.ts 92.59% 0 Missing and 2 partials ⚠️
packages/vue/src/context.ts 89.47% 0 Missing and 2 partials ⚠️
packages/vue/src/consumers/useFetch.ts 95.65% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3549      +/-   ##
==========================================
- Coverage   98.26%   97.53%   -0.73%     
==========================================
  Files         130      144      +14     
  Lines        2252     2478     +226     
  Branches      453      490      +37     
==========================================
+ Hits         2213     2417     +204     
- Misses         10       15       +5     
- Partials       29       46      +17     

☔ 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 force-pushed the vue branch 8 times, most recently from b77ff60 to 43b5e81 Compare October 3, 2025 01:12
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