Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ version: 2.1
executors:
node:
docker: &docker
- image: cimg/node:24.15
- image: cimg/node:26.1
environment:
# the whole CI is reset each time anyway, so only track local cache
YARN_ENABLE_GLOBAL_CACHE: false
Expand Down
6 changes: 5 additions & 1 deletion .cursor/skills/data-client-manager/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
---
name: data-client-manager
description: Implement @data-client Managers for global side effects - websocket, SSE, polling, subscriptions, logging, middleware, Controller actions, redux pattern
description: Implement @data-client Managers for global/background side effects - websocket, SSE, polling, real-time updates, subscriptions, logging, analytics, middleware, intercepting Controller actions, DataProvider managers prop, redux-style action handling. Use when adding cross-cutting store behavior, reacting to dispatched actions, or handling external event streams.
license: Apache 2.0
---
# Guide: Using `@data-client` Managers for global side effects

[Managers](references/managers.md) are singletons that handle global side-effects. Kind of like useEffect() for the central data store.
They interface with the store using [Controller](references/Controller.md), and [redux middleware](https://redux.js.org/tutorials/fundamentals/part-4-store#middleware) is run in response to [actions](references/Actions.md).

## Single Responsibility

One concern per Manager; compose many small managers (e.g. transport, subscriptions, logging, auth) rather than one large one.

## References

For detailed API documentation, see the [references](references/) directory:
Expand Down
2 changes: 1 addition & 1 deletion .cursor/skills/data-client-react-testing/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: data-client-react-testing
description: Test @data-client/react with renderDataHook - jest unit tests, fixtures, interceptors, mock responses, nock HTTP mocking, hook testing, component testing
description: Test @data-client/react with renderDataHook and mountDataClient - jest unit tests, fixtures, interceptors, MockResolver, mock responses, nock HTTP mocking, fake timers for polling/subscription tests, DataProvider test setup, hook and component testing. Use when writing or debugging tests for hooks, components, or resources built on @data-client/react.
license: Apache 2.0
---

Expand Down
2 changes: 1 addition & 1 deletion .cursor/skills/data-client-react/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: data-client-react
description: Use @data-client/react hooks - useSuspense, useFetch, useQuery, useCache, useLive, useDLE, useSubscription, useController for fetch/mutations, DataProvider, AsyncBoundary, useLoading, useDebounce
description: Use @data-client/react hooks for data fetching, mutations, and rendering - useSuspense, useFetch, useQuery, useCache, useLive, useDLE, useSubscription, useController, DataProvider, AsyncBoundary, useLoading, useDebounce. Use when reading/rendering remote data, triggering mutations, doing optimistic updates, real-time subscriptions, or wiring Suspense/error boundaries in React.
license: Apache 2.0
---
## Rendering
Expand Down
2 changes: 1 addition & 1 deletion .cursor/skills/data-client-rest/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: data-client-rest
description: Define REST APIs with @data-client/rest - resource(), RestEndpoint, CRUD, GET/POST/PUT/DELETE, HTTP fetch, normalize, cache, urlPrefix, path parameters, file download, blob, parseResponse
description: Define REST APIs with @data-client/rest - resource(), RestEndpoint, CRUD (GET/POST/PUT/PATCH/DELETE), HTTP fetch, normalize, cache, urlPrefix, path-to-regexp parameters, searchParams, pagination, extend(), auth/headers, optimistic updates, polling, file download, blob, parseResponse. Use when defining or modifying network endpoints, REST resources, or the HTTP layer.
license: Apache 2.0
---
# Guide: Using `@data-client/rest` for Resource Modeling
Expand Down
2 changes: 1 addition & 1 deletion .cursor/skills/data-client-schema/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: data-client-schema
description: Define data schemas - Entity, Collection, Union, Query, pk/primary key, normalize/denormalize, relational/nested data, polymorphic types, Invalidate, Values
description: Model data with @data-client schemas (Entity, EntityMixin, Collection, Union, Query, Values, All, Invalidate, Lazy, Scalar) for atomic, consistent, referentially-equal async data via normalization, identity-based caching, and a single source of truth. Use when defining or editing pk, static schema, resource()/RestEndpoint schema, mutable lists/maps (push/unshift/assign/remove/move), polymorphic/discriminated types, memoized selectors / derived data, partial/supplementary entities, relational/nested/joined data, optimistic updates, or cache invalidation across @data-client/rest, /endpoint, /graphql, or /normalizr. Apply proactively when discussing data models, remote data shape, caching, normalization, identity, joins, polymorphism, mutable collections, or store consistency.
license: Apache 2.0
---

Expand Down
2 changes: 1 addition & 1 deletion .cursor/skills/data-client-vue-testing/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: data-client-vue-testing
description: Test @data-client/vue composables and components - renderDataCompose, mountDataClient, fixtures, jest, nock HTTP mocking, polling/subscription tests with fake timers, useSuspense, useLive, useSubscription, Vue 3 reactive props
description: Test @data-client/vue composables and components - renderDataCompose, mountDataClient, fixtures, jest, nock HTTP mocking, polling/subscription tests with fake timers, useSuspense, useLive, useSubscription, Vue 3 reactive props. Use when writing or debugging tests for composables or components built on @data-client/vue.
license: Apache 2.0
---

Expand Down
2 changes: 1 addition & 1 deletion .cursor/skills/packages-documentation/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: packages-documentation
description: Write, update, and format docs for public APIs - API reference, README, docstrings, usage examples, migration guides, deprecation notices
description: Write, update, and format documentation for @data-client public APIs - API reference (Docusaurus/MDX), README files, JSDoc/TSDoc docstrings, usage examples, migration guides, deprecation notices, changelog entries. Use when changing exported APIs (docs must update in the same PR), writing new package docs, or updating the dataclient.io site.
license: Apache 2.0
---
# Package Documentation Writing Guidelines
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24
26
2 changes: 1 addition & 1 deletion examples/benchmark-react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@anansi/webpack-config": "21.1.18",
"@babel/core": "^7.22.15",
"@playwright/test": "1.59.1",
"@types/node": "24.12.2",
"@types/node": "25.6.2",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"playwright": "1.59.1",
Expand Down
22 changes: 11 additions & 11 deletions examples/nextjs/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion examples/nextjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"@data-client/react": "^0.18.0",
"@data-client/rest": "^0.18.0",
"@number-flow/react": "^0.6.0",
"@types/node": "24.12.2",
"@types/node": "25.6.2",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"clsx": "^2.1.1",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react-native": "13.3.3",
"@types/jest": "30.0.0",
"@types/node": "24.12.2",
"@types/node": "25.6.2",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"babel-plugin-module-resolver": "5.0.3",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@
"@anansi/browserslist-config": "^1.4.2",
"@data-client/endpoint": "workspace:*",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"rollup-plugins": "workspace:*"
}
}
2 changes: 1 addition & 1 deletion packages/endpoint/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
"@data-client/core": "workspace:*",
"@data-client/normalizr": "workspace:*",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"immutable": "5.1.5",
"nock": "13.3.1",
"rollup-plugins": "workspace:*",
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
"devDependencies": {
"@anansi/browserslist-config": "^1.4.2",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"nock": "13.3.1",
"rollup-plugins": "workspace:*"
}
Expand Down
2 changes: 1 addition & 1 deletion packages/img/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
"@testing-library/dom": "^10.4.1",
"@testing-library/react": "^16.1.0",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"@types/react": "19.2.14",
"@types/react-dom": "^19",
"react": "^19.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/normalizr/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@
"@anansi/browserslist-config": "^1.4.2",
"@data-client/endpoint": "workspace:*",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"immutable": "5.1.5",
"rollup-plugins": "workspace:*",
"temporal-polyfill": "^0.3.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
"@testing-library/react": "^16.1.0",
"@testing-library/react-native": "^13.3.3",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"@types/qs": "^6",
"@types/react": "19.2.14",
"@types/react-dom": "*",
Expand Down
2 changes: 1 addition & 1 deletion packages/rest/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@
"@data-client/react": "workspace:*",
"@data-client/test": "workspace:*",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"nock": "13.3.1",
"rollup-plugins": "workspace:*"
}
Expand Down
2 changes: 1 addition & 1 deletion packages/test/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@
"@data-client/react": "workspace:*",
"@testing-library/react-native": "^13.0.0",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"@types/react-test-renderer": "19.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/use-enhanced-reducer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
"devDependencies": {
"@anansi/browserslist-config": "^1.4.2",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"@types/react": "19.2.14",
"react": "^19.0.0",
"rollup-plugins": "workspace:*"
Expand Down
2 changes: 1 addition & 1 deletion packages/vue/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
"@data-client/rest": "workspace:*",
"@jest/globals": "^30.0.0",
"@types/jest": "30.0.0",
"@types/node": "^24.0.0",
"@types/node": "^25.0.0",
"@vue/test-utils": "^2.4.0",
"jest-environment-jsdom": "^30.0.0",
"jest-mock": "^30.0.0",
Expand Down
Loading
Loading