From 742a7c101a4546abac7f244f56a274a051df816a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 5 Oct 2025 19:42:45 -0700 Subject: [PATCH 01/13] internal: Publish beta version (#3561) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/big-impalas-tap.md | 28 -- .changeset/brave-bats-itch.md | 9 - .changeset/cold-walls-like.md | 6 - .changeset/forty-masks-join.md | 7 - .changeset/grumpy-dogs-decide.md | 36 --- .changeset/legal-files-fly.md | 24 -- .changeset/major-boxes-glow.md | 26 -- .changeset/open-shrimps-warn.md | 38 --- .changeset/pink-waves-judge.md | 17 - .changeset/plenty-regions-visit.md | 27 -- .changeset/poor-jobs-turn.md | 41 --- .changeset/proud-insects-smile.md | 49 --- .changeset/proud-taxes-bake.md | 42 --- .changeset/shiny-olives-behave.md | 5 - .changeset/sixty-monkeys-open.md | 7 - .changeset/smart-dodos-hear.md | 5 - .changeset/sour-horses-give.md | 22 -- .changeset/stale-socks-accept.md | 18 -- .changeset/ten-lions-retire.md | 9 - .changeset/thirty-islands-hope.md | 8 - .changeset/tough-areas-show.md | 9 - .changeset/two-bees-scream.md | 6 - .changeset/weak-grapes-kiss.md | 25 -- .changeset/wicked-bags-appear.md | 43 --- .changeset/wicked-feet-cheat.md | 7 - examples/benchmark/CHANGELOG.md | 9 + examples/benchmark/package.json | 2 +- examples/coin-app/CHANGELOG.md | 9 + examples/coin-app/package.json | 8 +- examples/normalizr-github/CHANGELOG.md | 8 + examples/normalizr-github/package.json | 2 +- examples/normalizr-redux/CHANGELOG.md | 8 + examples/normalizr-redux/package.json | 2 +- examples/normalizr-relationships/CHANGELOG.md | 8 + examples/normalizr-relationships/package.json | 2 +- examples/test-bundlesize/CHANGELOG.md | 10 + examples/test-bundlesize/package.json | 8 +- packages/core/CHANGELOG.md | 134 +++++++- packages/core/package.json | 4 +- packages/endpoint/CHANGELOG.md | 246 ++++++++++++++- packages/endpoint/package.json | 2 +- packages/graphql/CHANGELOG.md | 197 +++++++++++- packages/graphql/package.json | 4 +- packages/img/CHANGELOG.md | 15 +- packages/img/package.json | 6 +- packages/normalizr/CHANGELOG.md | 294 +++++++++++++++++- packages/normalizr/package.json | 2 +- packages/react/CHANGELOG.md | 152 ++++++++- packages/react/package.json | 4 +- packages/rest/CHANGELOG.md | 200 +++++++++++- packages/rest/package.json | 4 +- packages/test/CHANGELOG.md | 28 ++ packages/test/package.json | 4 +- yarn.lock | 38 +-- 54 files changed, 1332 insertions(+), 592 deletions(-) delete mode 100644 .changeset/big-impalas-tap.md delete mode 100644 .changeset/brave-bats-itch.md delete mode 100644 .changeset/cold-walls-like.md delete mode 100644 .changeset/forty-masks-join.md delete mode 100644 .changeset/grumpy-dogs-decide.md delete mode 100644 .changeset/legal-files-fly.md delete mode 100644 .changeset/major-boxes-glow.md delete mode 100644 .changeset/open-shrimps-warn.md delete mode 100644 .changeset/pink-waves-judge.md delete mode 100644 .changeset/plenty-regions-visit.md delete mode 100644 .changeset/poor-jobs-turn.md delete mode 100644 .changeset/proud-insects-smile.md delete mode 100644 .changeset/proud-taxes-bake.md delete mode 100644 .changeset/shiny-olives-behave.md delete mode 100644 .changeset/sixty-monkeys-open.md delete mode 100644 .changeset/smart-dodos-hear.md delete mode 100644 .changeset/sour-horses-give.md delete mode 100644 .changeset/stale-socks-accept.md delete mode 100644 .changeset/ten-lions-retire.md delete mode 100644 .changeset/thirty-islands-hope.md delete mode 100644 .changeset/tough-areas-show.md delete mode 100644 .changeset/two-bees-scream.md delete mode 100644 .changeset/weak-grapes-kiss.md delete mode 100644 .changeset/wicked-bags-appear.md delete mode 100644 .changeset/wicked-feet-cheat.md create mode 100644 examples/test-bundlesize/CHANGELOG.md diff --git a/.changeset/big-impalas-tap.md b/.changeset/big-impalas-tap.md deleted file mode 100644 index 41e74d826def..000000000000 --- a/.changeset/big-impalas-tap.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -'@data-client/normalizr': patch ---- - -Add /imm exports path for handling ImmutableJS state - -#### MemoCache - -```ts -import { MemoCache } from '@data-client/normalizr'; -import { MemoPolicy } from '@data-client/normalizr/imm'; - -const memo = new MemoCache(MemoPolicy); - -// entities is an ImmutableJS Map -const value = MemoCache.denormalize(Todo, '1', entities); -``` - -#### denormalize - -non-memoized denormalize - -```ts -import { denormalize } from '@data-client/normalizr/imm'; - -// entities is an ImmutableJS Map -const value = denormalize(Todo, '1', entities); -``` \ No newline at end of file diff --git a/.changeset/brave-bats-itch.md b/.changeset/brave-bats-itch.md deleted file mode 100644 index e8dfbefe7cdd..000000000000 --- a/.changeset/brave-bats-itch.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@data-client/normalizr': minor ---- - -BREAKING CHANGE: Denormalize always transforms immutablejs entities into the class - -Previously using ImmutableJS structures when calling denormalize() would maintain -nested schemas as immutablejs structures still. Now everything is converted to normal JS. -This is how the types have always been specified. diff --git a/.changeset/cold-walls-like.md b/.changeset/cold-walls-like.md deleted file mode 100644 index 406600556ad3..000000000000 --- a/.changeset/cold-walls-like.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@data-client/core': patch -'@data-client/react': patch ---- - -Fix controller.get and controller.getQueryMeta 'state' argument types diff --git a/.changeset/forty-masks-join.md b/.changeset/forty-masks-join.md deleted file mode 100644 index 8c0742b95ecb..000000000000 --- a/.changeset/forty-masks-join.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@data-client/endpoint': patch -'@data-client/graphql': patch -'@data-client/rest': patch ---- - -Fix: ensure string id in Entity set when process returns undefined (meaning INVALID) diff --git a/.changeset/grumpy-dogs-decide.md b/.changeset/grumpy-dogs-decide.md deleted file mode 100644 index 0aad634d55fd..000000000000 --- a/.changeset/grumpy-dogs-decide.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -'@data-client/react': minor ---- - -BREAKING CHANGE: useDebounce() returns [val, isPending] - -This was previously exported in `@data-client/react/next` to make migrations easy. This will -still be available there. - -#### Before - -```ts -import { useDebounce } from '@data-client/react'; -const debouncedQuery = useDebounce(query, 100); -``` - -#### After - -```ts -import { useDebounce } from '@data-client/react'; -const [debouncedQuery] = useDebounce(query, 100); -``` - -#### Before - -```ts -import { useDebounce } from '@data-client/react/next'; -const [debouncedQuery, isPending] = useDebounce(query, 100); -``` - -#### After - -```ts -import { useDebounce } from '@data-client/react'; -const [debouncedQuery, isPending] = useDebounce(query, 100); -``` \ No newline at end of file diff --git a/.changeset/legal-files-fly.md b/.changeset/legal-files-fly.md deleted file mode 100644 index b59f2aa1981e..000000000000 --- a/.changeset/legal-files-fly.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -'@data-client/normalizr': minor ---- - -BREAKING: denormalize no longer detects ImmutableJS state - -Use `/imm` exports to handle ImmutableJS state - -#### Before - -```ts -import { MemoCache, denormalize } from '@data-client/normalizr'; - -const memo = new MemoCache(); -``` - -#### After - -```ts -import { MemoCache } from '@data-client/normalizr'; -import { MemoPolicy, denormalize } from '@data-client/normalizr/imm'; - -const memo = new MemoCache(MemoPolicy); -``` diff --git a/.changeset/major-boxes-glow.md b/.changeset/major-boxes-glow.md deleted file mode 100644 index 262b40d0f24a..000000000000 --- a/.changeset/major-boxes-glow.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -'@data-client/normalizr': minor -'@data-client/endpoint': minor -'@data-client/rest': minor -'@data-client/graphql': minor ---- - -Add delegate.INVALID to queryKey - -This is used in schema.All.queryKey(). - -#### Before - -```ts -queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { - if (!found) return INVALID; -} -``` - -#### After - -```ts -queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { - if (!found) return delegate.INVALID; -} -``` diff --git a/.changeset/open-shrimps-warn.md b/.changeset/open-shrimps-warn.md deleted file mode 100644 index 423b862f1887..000000000000 --- a/.changeset/open-shrimps-warn.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -'@data-client/normalizr': minor -'@data-client/endpoint': minor -'@data-client/rest': minor -'@data-client/graphql': minor ---- - -Add delegate.invalidate() to normalization - -#### Before - -```ts -normalize( - input: any, - parent: any, - key: string | undefined, - args: any[], - visit: (...args: any) => any, - delegate: INormalizeDelegate, -): string { - delegate.setEntity(this as any, pk, INVALID); -} -``` - -#### After - -```ts -normalize( - input: any, - parent: any, - key: string | undefined, - args: any[], - visit: (...args: any) => any, - delegate: INormalizeDelegate, -): string { - delegate.invalidate(this as any, pk); -} -``` \ No newline at end of file diff --git a/.changeset/pink-waves-judge.md b/.changeset/pink-waves-judge.md deleted file mode 100644 index c4538cc41312..000000000000 --- a/.changeset/pink-waves-judge.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -'@data-client/endpoint': patch -'@data-client/graphql': patch -'@data-client/rest': patch ---- - -Add Collection.remove - -```ts -ctrl.set(MyResource.getList.schema.remove, { id }); -``` - -```ts -const removeItem = MyResource.delete.extend({ - schema: MyResource.getList.schema.remove -}) -``` \ No newline at end of file diff --git a/.changeset/plenty-regions-visit.md b/.changeset/plenty-regions-visit.md deleted file mode 100644 index 68b502b3438c..000000000000 --- a/.changeset/plenty-regions-visit.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -'@data-client/normalizr': patch -'@data-client/endpoint': patch -'@data-client/react': patch -'@data-client/core': patch -'@data-client/rest': patch -'@data-client/graphql': patch ---- - -Normalize delegate.invalidate() first argument only has `key` param. - -`indexes` optional param no longer provided as it was never used. - - -```ts -normalize( - input: any, - parent: any, - key: string | undefined, - args: any[], - visit: (...args: any) => any, - delegate: INormalizeDelegate, -): string { - delegate.invalidate({ key: this._entity.key }, pk); - return pk; -} -``` \ No newline at end of file diff --git a/.changeset/poor-jobs-turn.md b/.changeset/poor-jobs-turn.md deleted file mode 100644 index a39580602188..000000000000 --- a/.changeset/poor-jobs-turn.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -'@data-client/normalizr': minor ---- - -BREAKING CHANGE: MemoCache.query() and MemoCache.buildQueryKey() take state as one argument - -#### Before - -```ts -this.memo.buildQueryKey( - schema, - args, - state.entities, - state.indexes, - key, -); -``` - - -#### After - -```ts -this.memo.buildQueryKey( - schema, - args, - state, - key, -); -``` - -#### Before - -```ts -this.memo.query(schema, args, state.entities, state.indexes); -``` - -#### After - -```ts -this.memo.query(schema, args, state); -``` \ No newline at end of file diff --git a/.changeset/proud-insects-smile.md b/.changeset/proud-insects-smile.md deleted file mode 100644 index 4d4999da6293..000000000000 --- a/.changeset/proud-insects-smile.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -'@data-client/normalizr': minor -'@data-client/endpoint': minor -'@data-client/core': minor -'@data-client/graphql': minor -'@data-client/react': minor -'@data-client/rest': minor ---- - -BREAKING CHANGE: schema.normalize(...args, addEntity, getEntity, checkLoop) -> schema.normalize(...args, delegate) - -We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. - -```ts -/** Helpers during schema.normalize() */ -export interface INormalizeDelegate { - /** Action meta-data for this normalize call */ - readonly meta: { fetchedAt: number; date: number; expiresAt: number }; - /** Gets any previously normalized entity from store */ - getEntity: GetEntity; - /** Updates an entity using merge lifecycles when it has previously been set */ - mergeEntity( - schema: Mergeable & { indexes?: any }, - pk: string, - incomingEntity: any, - ): void; - /** Sets an entity overwriting any previously set values */ - setEntity( - schema: { key: string; indexes?: any }, - pk: string, - entity: any, - meta?: { fetchedAt: number; date: number; expiresAt: number }, - ): void; - /** Returns true when we're in a cycle, so we should not continue recursing */ - checkLoop(key: string, pk: string, input: object): boolean; -} -``` - -#### Before - -```ts -addEntity(this, processedEntity, id); -``` - -#### After - -```ts -delegate.mergeEntity(this, id, processedEntity); -``` \ No newline at end of file diff --git a/.changeset/proud-taxes-bake.md b/.changeset/proud-taxes-bake.md deleted file mode 100644 index 7861fbb90a2a..000000000000 --- a/.changeset/proud-taxes-bake.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -'@data-client/normalizr': minor -'@data-client/endpoint': minor ---- - -delegate.getEntity(key) -> delegate.getEntities(this.key) - -Return value is a restricted interface with keys() and entries() iterator methods. -This applies to both schema.queryKey and schema.normalize method delegates. - -```ts -const entities = delegate.getEntities(key); - -// foreach on keys -for (const key of entities.keys()) {} -// Object.keys() (convert to array) -return [...entities.keys()]; -// foreach on full entry -for (const [key, entity] of entities.entries()) {} -``` - -#### Before - -```ts -const entities = delegate.getEntity(this.key); -if (entities) - Object.keys(entities).forEach(collectionPk => { - if (!filterCollections(JSON.parse(collectionPk))) return; - delegate.mergeEntity(this, collectionPk, normalizedValue); - }); -``` - -#### After - -```ts -const entities = delegate.getEntities(this.key); -if (entities) - for (const collectionKey of entities.keys()) { - if (!filterCollections(JSON.parse(collectionKey))) continue; - delegate.mergeEntity(this, collectionKey, normalizedValue); - } -``` \ No newline at end of file diff --git a/.changeset/shiny-olives-behave.md b/.changeset/shiny-olives-behave.md deleted file mode 100644 index 7e6dddb88ad9..000000000000 --- a/.changeset/shiny-olives-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/endpoint': patch ---- - -fix: export types needed for EntityMixin diff --git a/.changeset/sixty-monkeys-open.md b/.changeset/sixty-monkeys-open.md deleted file mode 100644 index 5693a0ecae32..000000000000 --- a/.changeset/sixty-monkeys-open.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@data-client/normalizr': minor -'@data-client/react': minor -'@data-client/core': minor ---- - -state.entityMeta -> state.entitiesMeta diff --git a/.changeset/smart-dodos-hear.md b/.changeset/smart-dodos-hear.md deleted file mode 100644 index 524304af1349..000000000000 --- a/.changeset/smart-dodos-hear.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/img': patch ---- - -Update readme example to useSuspense() diff --git a/.changeset/sour-horses-give.md b/.changeset/sour-horses-give.md deleted file mode 100644 index 7bb77527def9..000000000000 --- a/.changeset/sour-horses-give.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -'@data-client/core': minor -'@data-client/test': minor ---- - -Change NetworkManager bookkeeping data structure for inflight fetches - -BREAKING CHANGE: NetworkManager.fetched, NetworkManager.rejectors, NetworkManager.resolvers, NetworkManager.fetchedAt - -> NetworkManager.fetching - - -#### Before - -```ts -if (action.key in this.fetched) -``` - -#### After - -```ts -if (this.fetching.has(action.key)) -``` \ No newline at end of file diff --git a/.changeset/stale-socks-accept.md b/.changeset/stale-socks-accept.md deleted file mode 100644 index 6180a04613bf..000000000000 --- a/.changeset/stale-socks-accept.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -'@data-client/normalizr': minor ---- - -MemoCache.query returns `{ data, paths }` just like denormalize. `data` could be INVALID - -#### Before - -```ts -return this.memo.query(schema, args, state); -``` - -#### After - -```ts -const { data } = this.memo.query(schema, args, state); -return typeof data === 'symbol' ? undefined : (data as any); -``` \ No newline at end of file diff --git a/.changeset/ten-lions-retire.md b/.changeset/ten-lions-retire.md deleted file mode 100644 index c1d0f26c37c1..000000000000 --- a/.changeset/ten-lions-retire.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@data-client/normalizr': patch -'@data-client/core': patch -'@data-client/react': patch ---- - -Improve performance of get/denormalize for small responses - -- 10-20% performance improvement due to removing immutablejs check for every call \ No newline at end of file diff --git a/.changeset/thirty-islands-hope.md b/.changeset/thirty-islands-hope.md deleted file mode 100644 index 68c5d1c102f6..000000000000 --- a/.changeset/thirty-islands-hope.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@data-client/endpoint': patch ---- - -Fix: schema.All() polymorphic handling of Invalidated entities - -In case an Entity is invalidated, schema.All will continue to properly -filter it out of its list. \ No newline at end of file diff --git a/.changeset/tough-areas-show.md b/.changeset/tough-areas-show.md deleted file mode 100644 index 255e85185a7d..000000000000 --- a/.changeset/tough-areas-show.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@data-client/endpoint': minor -'@data-client/graphql': minor -'@data-client/rest': minor ---- - -Remove `INVALID` symbol export - -Schemas can use delegate.invalidate() in normalize() or return delegate.INVALID in queryKey(). \ No newline at end of file diff --git a/.changeset/two-bees-scream.md b/.changeset/two-bees-scream.md deleted file mode 100644 index a8422c9b3481..000000000000 --- a/.changeset/two-bees-scream.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@data-client/test': minor -'@data-client/img': minor ---- - -Support 0.15 of @data-client/react diff --git a/.changeset/weak-grapes-kiss.md b/.changeset/weak-grapes-kiss.md deleted file mode 100644 index 69e5aedfdb78..000000000000 --- a/.changeset/weak-grapes-kiss.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -'@data-client/endpoint': patch -'@data-client/rest': patch -'@data-client/graphql': patch ---- - -Unions can query() without type discriminator - -#### Before -```tsx -// @ts-expect-error -const event = useQuery(EventUnion, { id }); -// event is undefined -const newsEvent = useQuery(EventUnion, { id, type: 'news' }); -// newsEvent is found -``` - -#### After - -```tsx -const event = useQuery(EventUnion, { id }); -// event is found -const newsEvent = useQuery(EventUnion, { id, type: 'news' }); -// newsEvent is found -``` \ No newline at end of file diff --git a/.changeset/wicked-bags-appear.md b/.changeset/wicked-bags-appear.md deleted file mode 100644 index 0f0e970c1c41..000000000000 --- a/.changeset/wicked-bags-appear.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -'@data-client/normalizr': minor -'@data-client/endpoint': minor -'@data-client/core': minor -'@data-client/graphql': minor -'@data-client/react': minor -'@data-client/rest': minor ---- - -BREAKING CHANGE: schema.queryKey(args, queryKey, getEntity, getIndex) -> schema.queryKey(args, unvisit, delegate) -BREAKING CHANGE: delegate.getIndex() returns the index directly, rather than object. - -We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. - -Our recursive call is renamed from queryKey to unvisit, and does not require the last two arguments. - -```ts -/** Accessors to the currently processing state while building query */ -export interface IQueryDelegate { - getEntity: GetEntity; - getIndex: GetIndex; -} -``` - -#### Before - -```ts -queryKey(args, queryKey, getEntity, getIndex) { - getIndex(schema.key, indexName, value)[value]; - getEntity(this.key, id); - return queryKey(this.schema, args, getEntity, getIndex); -} -``` - -#### After - -```ts -queryKey(args, unvisit, delegate) { - delegate.getIndex(schema.key, indexName, value); - delegate.getEntity(this.key, id); - return unvisit(this.schema, args); -} -``` diff --git a/.changeset/wicked-feet-cheat.md b/.changeset/wicked-feet-cheat.md deleted file mode 100644 index 4fee53442d54..000000000000 --- a/.changeset/wicked-feet-cheat.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@data-client/endpoint': patch -'@data-client/react': patch -'@data-client/rest': patch ---- - -Include GPT link badge in readme diff --git a/examples/benchmark/CHANGELOG.md b/examples/benchmark/CHANGELOG.md index 0201158adc44..380272792400 100644 --- a/examples/benchmark/CHANGELOG.md +++ b/examples/benchmark/CHANGELOG.md @@ -1,5 +1,14 @@ # example-benchmark +## 0.4.75-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Patch Changes + +- Updated dependencies [[`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`246cde6`](https://github.com/reactive/data-client/commit/246cde6dbeca59eafd10e59d8cd05a6f232fb219), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`66e1906`](https://github.com/reactive/data-client/commit/66e19064d21225c70639f3b4799e54c259ce6905), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`bab907c`](https://github.com/reactive/data-client/commit/bab907ce824c0f7da961d74c9fb8b64ce7c95141), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`d44d36a`](https://github.com/reactive/data-client/commit/d44d36a7de0a18817486c4f723bf2f0e86ac9677), [`25b153a`](https://github.com/reactive/data-client/commit/25b153a9d80db1bcd17ab5558dfa13b333f112b8), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`5699005`](https://github.com/reactive/data-client/commit/5699005700206306bc70ff8237bf7ceaac241b82), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/core@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/endpoint@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.4.74 ### Patch Changes diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index 1c3cbed4ca0d..8ccbd8cd8361 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -1,6 +1,6 @@ { "name": "example-benchmark", - "version": "0.4.74", + "version": "0.4.75-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Benchmark for normalizr", "main": "index.js", "author": "Nathaniel Tucker", diff --git a/examples/coin-app/CHANGELOG.md b/examples/coin-app/CHANGELOG.md index 5e5179197da6..eb6b6ded3a62 100644 --- a/examples/coin-app/CHANGELOG.md +++ b/examples/coin-app/CHANGELOG.md @@ -1,5 +1,14 @@ # coinbase-lite +## 0.0.10-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Patch Changes + +- Updated dependencies [[`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`997ca20`](https://github.com/reactive/data-client/commit/997ca209d36e8503ab7684bccc6ddc29d179a0b5), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`b978362`](https://github.com/reactive/data-client/commit/b97836216eb9e8d9a403dd1ed88797f2db777dbb), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`769cb78`](https://github.com/reactive/data-client/commit/769cb78966aed032c90864c701dae2bac0cc1e4d), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/react@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/rest@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/img@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.0.9 ### Patch Changes diff --git a/examples/coin-app/package.json b/examples/coin-app/package.json index 1929f5895ee4..899889e9d5b5 100644 --- a/examples/coin-app/package.json +++ b/examples/coin-app/package.json @@ -1,6 +1,6 @@ { "name": "coinbase-lite", - "version": "0.0.9", + "version": "0.0.10-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "packageManager": "yarn@4.10.3", "description": "Coin App", "scripts": { @@ -45,9 +45,9 @@ "@anansi/core": "^0.20.0", "@anansi/router": "^0.10.0", "@babel/runtime-corejs3": "^7.26.7", - "@data-client/img": "^0.14.0", - "@data-client/react": "^0.14.0", - "@data-client/rest": "^0.14.0", + "@data-client/img": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/rest": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "core-js": "^3.40.0", "d3": "^7.9.0", "history": "*", diff --git a/examples/normalizr-github/CHANGELOG.md b/examples/normalizr-github/CHANGELOG.md index d0b246c77c8a..84cd607a07f0 100644 --- a/examples/normalizr-github/CHANGELOG.md +++ b/examples/normalizr-github/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-github-example +## 0.1.51-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Patch Changes + +- Updated dependencies [[`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`246cde6`](https://github.com/reactive/data-client/commit/246cde6dbeca59eafd10e59d8cd05a6f232fb219), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`66e1906`](https://github.com/reactive/data-client/commit/66e19064d21225c70639f3b4799e54c259ce6905), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`bab907c`](https://github.com/reactive/data-client/commit/bab907ce824c0f7da961d74c9fb8b64ce7c95141), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`25b153a`](https://github.com/reactive/data-client/commit/25b153a9d80db1bcd17ab5558dfa13b333f112b8), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`5699005`](https://github.com/reactive/data-client/commit/5699005700206306bc70ff8237bf7ceaac241b82), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/endpoint@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.50 ### Patch Changes diff --git a/examples/normalizr-github/package.json b/examples/normalizr-github/package.json index b9657ada056a..83428832874e 100644 --- a/examples/normalizr-github/package.json +++ b/examples/normalizr-github/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-github-example", - "version": "0.1.50", + "version": "0.1.51-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "And example of using Normalizr with github", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/normalizr-redux/CHANGELOG.md b/examples/normalizr-redux/CHANGELOG.md index e4801ba8088c..032bed5bbaf5 100644 --- a/examples/normalizr-redux/CHANGELOG.md +++ b/examples/normalizr-redux/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-redux-example +## 0.1.49-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Patch Changes + +- Updated dependencies [[`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`246cde6`](https://github.com/reactive/data-client/commit/246cde6dbeca59eafd10e59d8cd05a6f232fb219), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`66e1906`](https://github.com/reactive/data-client/commit/66e19064d21225c70639f3b4799e54c259ce6905), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`bab907c`](https://github.com/reactive/data-client/commit/bab907ce824c0f7da961d74c9fb8b64ce7c95141), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`25b153a`](https://github.com/reactive/data-client/commit/25b153a9d80db1bcd17ab5558dfa13b333f112b8), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`5699005`](https://github.com/reactive/data-client/commit/5699005700206306bc70ff8237bf7ceaac241b82), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/endpoint@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.48 ### Patch Changes diff --git a/examples/normalizr-redux/package.json b/examples/normalizr-redux/package.json index 28ee93288047..40db06bad7e0 100644 --- a/examples/normalizr-redux/package.json +++ b/examples/normalizr-redux/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-redux-example", - "version": "0.1.48", + "version": "0.1.49-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "And example of using Normalizr with Redux", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/normalizr-relationships/CHANGELOG.md b/examples/normalizr-relationships/CHANGELOG.md index 21c1fc06e3a3..6d585dc30053 100644 --- a/examples/normalizr-relationships/CHANGELOG.md +++ b/examples/normalizr-relationships/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-relationships +## 0.1.51-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Patch Changes + +- Updated dependencies [[`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`246cde6`](https://github.com/reactive/data-client/commit/246cde6dbeca59eafd10e59d8cd05a6f232fb219), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`66e1906`](https://github.com/reactive/data-client/commit/66e19064d21225c70639f3b4799e54c259ce6905), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`bab907c`](https://github.com/reactive/data-client/commit/bab907ce824c0f7da961d74c9fb8b64ce7c95141), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`25b153a`](https://github.com/reactive/data-client/commit/25b153a9d80db1bcd17ab5558dfa13b333f112b8), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`5699005`](https://github.com/reactive/data-client/commit/5699005700206306bc70ff8237bf7ceaac241b82), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/endpoint@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.50 ### Patch Changes diff --git a/examples/normalizr-relationships/package.json b/examples/normalizr-relationships/package.json index d007c9bd1d1c..e441baf09c34 100644 --- a/examples/normalizr-relationships/package.json +++ b/examples/normalizr-relationships/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-relationships", - "version": "0.1.50", + "version": "0.1.51-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "And example of using Normalizr with relationships", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/test-bundlesize/CHANGELOG.md b/examples/test-bundlesize/CHANGELOG.md new file mode 100644 index 000000000000..ebf09c153989 --- /dev/null +++ b/examples/test-bundlesize/CHANGELOG.md @@ -0,0 +1,10 @@ +# test-bundlesize + +## 0.1.1-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Patch Changes + +- Updated dependencies [[`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`997ca20`](https://github.com/reactive/data-client/commit/997ca209d36e8503ab7684bccc6ddc29d179a0b5), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`b978362`](https://github.com/reactive/data-client/commit/b97836216eb9e8d9a403dd1ed88797f2db777dbb), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`769cb78`](https://github.com/reactive/data-client/commit/769cb78966aed032c90864c701dae2bac0cc1e4d), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/react@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/rest@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/img@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b diff --git a/examples/test-bundlesize/package.json b/examples/test-bundlesize/package.json index db1a7dfe6ccb..acad07d205f6 100644 --- a/examples/test-bundlesize/package.json +++ b/examples/test-bundlesize/package.json @@ -1,6 +1,6 @@ { "name": "test-bundlesize", - "version": "0.1.0", + "version": "0.1.1-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "packageManager": "yarn@4.10.3", "description": "Testing Bundled Size", "scripts": { @@ -38,9 +38,9 @@ }, "dependencies": { "@babel/runtime-corejs3": "^7.26.7", - "@data-client/img": "^0.14.0", - "@data-client/react": "^0.14.0", - "@data-client/rest": "^0.14.0", + "@data-client/img": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/rest": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "core-js": "^3.40.0", "react": "^19.0.0", "react-dom": "^19.0.0" diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 3422ddf2937a..e7b952c34be8 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,132 @@ # @data-client/core +## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Minor Changes + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.normalize(...args, addEntity, getEntity, checkLoop) -> schema.normalize(...args, delegate) + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + ```ts + /** Helpers during schema.normalize() */ + export interface INormalizeDelegate { + /** Action meta-data for this normalize call */ + readonly meta: { fetchedAt: number; date: number; expiresAt: number }; + /** Gets any previously normalized entity from store */ + getEntity: GetEntity; + /** Updates an entity using merge lifecycles when it has previously been set */ + mergeEntity( + schema: Mergeable & { indexes?: any }, + pk: string, + incomingEntity: any, + ): void; + /** Sets an entity overwriting any previously set values */ + setEntity( + schema: { key: string; indexes?: any }, + pk: string, + entity: any, + meta?: { fetchedAt: number; date: number; expiresAt: number }, + ): void; + /** Returns true when we're in a cycle, so we should not continue recursing */ + checkLoop(key: string, pk: string, input: object): boolean; + } + ``` + + #### Before + + ```ts + addEntity(this, processedEntity, id); + ``` + + #### After + + ```ts + delegate.mergeEntity(this, id, processedEntity); + ``` + +- [#3451](https://github.com/reactive/data-client/pull/3451) [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d) Thanks [@ntucker](https://github.com/ntucker)! - state.entityMeta -> state.entitiesMeta + +- [#3394](https://github.com/reactive/data-client/pull/3394) [`d44d36a`](https://github.com/reactive/data-client/commit/d44d36a7de0a18817486c4f723bf2f0e86ac9677) Thanks [@ntucker](https://github.com/ntucker)! - Change NetworkManager bookkeeping data structure for inflight fetches + + BREAKING CHANGE: NetworkManager.fetched, NetworkManager.rejectors, NetworkManager.resolvers, NetworkManager.fetchedAt + -> NetworkManager.fetching + + #### Before + + ```ts + if (action.key in this.fetched) + ``` + + #### After + + ```ts + if (this.fetching.has(action.key)) + ``` + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.queryKey(args, queryKey, getEntity, getIndex) -> schema.queryKey(args, unvisit, delegate) + BREAKING CHANGE: delegate.getIndex() returns the index directly, rather than object. + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + Our recursive call is renamed from queryKey to unvisit, and does not require the last two arguments. + + ```ts + /** Accessors to the currently processing state while building query */ + export interface IQueryDelegate { + getEntity: GetEntity; + getIndex: GetIndex; + } + ``` + + #### Before + + ```ts + queryKey(args, queryKey, getEntity, getIndex) { + getIndex(schema.key, indexName, value)[value]; + getEntity(this.key, id); + return queryKey(this.schema, args, getEntity, getIndex); + } + ``` + + #### After + + ```ts + queryKey(args, unvisit, delegate) { + delegate.getIndex(schema.key, indexName, value); + delegate.getEntity(this.key, id); + return unvisit(this.schema, args); + } + ``` + +### Patch Changes + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - Fix controller.get and controller.getQueryMeta 'state' argument types + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Normalize delegate.invalidate() first argument only has `key` param. + + `indexes` optional param no longer provided as it was never used. + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate({ key: this._entity.key }, pk); + return pk; + } + ``` + +- [#3468](https://github.com/reactive/data-client/pull/3468) [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895) Thanks [@ntucker](https://github.com/ntucker)! - Improve performance of get/denormalize for small responses + - 10-20% performance improvement due to removing immutablejs check for every call + +- Updated dependencies [[`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`246cde6`](https://github.com/reactive/data-client/commit/246cde6dbeca59eafd10e59d8cd05a6f232fb219), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`66e1906`](https://github.com/reactive/data-client/commit/66e19064d21225c70639f3b4799e54c259ce6905), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`25b153a`](https://github.com/reactive/data-client/commit/25b153a9d80db1bcd17ab5558dfa13b333f112b8), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7)]: + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.14.24 ### Patch Changes @@ -266,7 +393,6 @@ - [`d84b43c`](https://github.com/reactive/data-client/commit/d84b43cf728d714da7182f2c19b39f49e0ec0366) Thanks [@ntucker](https://github.com/ntucker)! - Move NetworkManager missing detection to initialization (applyManager()) - [`06df291`](https://github.com/reactive/data-client/commit/06df291a1f1d91afa331310dfb8319bc8d1a3ba8) Thanks [@ntucker](https://github.com/ntucker)! - Reorder action members for easier debuggability - - `key` at top - easiest to read 'subject' - `response` or `value` after - 'object' being set @@ -581,7 +707,6 @@ ``` BREAKING CHANGE: - - actionTypes.SET_TYPE -> actionTypes.SET_RESPONSE_TYPE - SetAction -> SetResponseAction @@ -759,7 +884,6 @@ ### Patch Changes - [`2e169b7`](https://github.com/reactive/data-client/commit/2e169b705e4f8e2eea8005291a0e76e9d11764a4) Thanks [@ntucker](https://github.com/ntucker)! - Fix schema.All denormalize INVALID case should also work when class name mangling is performed in production builds - - `unvisit()` always returns `undefined` with `undefined` as input. - `All` returns INVALID from `queryKey()` to invalidate what was previously a special case in `unvisit()` (when there is no table entry for the given entity) @@ -780,7 +904,6 @@ ### Minor Changes - [#2912](https://github.com/reactive/data-client/pull/2912) [`922be79`](https://github.com/reactive/data-client/commit/922be79169a3eeea8e336eee519c165431ead474) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: `null` inputs are no longer filtered from Array or Object - - `[]` and [schema.Array](https://dataclient.io/rest/api/Array) now behave in the same manner. - `null` values are now consistently handled everywhere (being retained). - These were already being retained in [nested Entities](https://dataclient.io/rest/guides/relational-data#nesting) @@ -817,7 +940,6 @@ ### Patch Changes - [#2818](https://github.com/reactive/data-client/pull/2818) [`fc0092883f`](https://github.com/reactive/data-client/commit/fc0092883f5af42a5d270250482b7f0ba9845e95) Thanks [@ntucker](https://github.com/ntucker)! - Fix unpkg bundles and update names - - Client packages namespace into RDC - @data-client/react - RDC - @data-client/core - RDC.Core @@ -901,7 +1023,6 @@ legacy compatibility. - [#2784](https://github.com/reactive/data-client/pull/2784) [`c535f6c0ac`](https://github.com/reactive/data-client/commit/c535f6c0ac915b5242c1c7694308b7ee7aab16a1) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGES: - - DELETE removed -> INVALIDATE - drop all support for legacy schemas - entity.expiresAt removed @@ -911,7 +1032,6 @@ - [#2782](https://github.com/reactive/data-client/pull/2782) [`d3343d42b9`](https://github.com/reactive/data-client/commit/d3343d42b970d075eda201cb85d201313120807c) Thanks [@ntucker](https://github.com/ntucker)! - Remove all 'receive' action names (use 'set' instead) BREAKING CHANGE: - - remove ReceiveAction - ReceiveTypes -> SetTypes - remove Controller.receive Controller.receiveError diff --git a/packages/core/package.json b/packages/core/package.json index 9d1bebb35fbb..991738a29239 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/core", - "version": "0.14.24", + "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "sideEffects": false, "main": "dist/index.js", @@ -125,7 +125,7 @@ }, "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/normalizr": "^0.14.22", + "@data-client/normalizr": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "flux-standard-action": "^2.1.1" }, "devDependencies": { diff --git a/packages/endpoint/CHANGELOG.md b/packages/endpoint/CHANGELOG.md index 05396a0319eb..66e55bb7b003 100644 --- a/packages/endpoint/CHANGELOG.md +++ b/packages/endpoint/CHANGELOG.md @@ -1,5 +1,245 @@ # @data-client/endpoint +## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Minor Changes + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Add delegate.INVALID to queryKey + + This is used in schema.All.queryKey(). + + #### Before + + ```ts + queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { + if (!found) return INVALID; + } + ``` + + #### After + + ```ts + queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { + if (!found) return delegate.INVALID; + } + ``` + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Add delegate.invalidate() to normalization + + #### Before + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.setEntity(this as any, pk, INVALID); + } + ``` + + #### After + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate(this as any, pk); + } + ``` + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.normalize(...args, addEntity, getEntity, checkLoop) -> schema.normalize(...args, delegate) + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + ```ts + /** Helpers during schema.normalize() */ + export interface INormalizeDelegate { + /** Action meta-data for this normalize call */ + readonly meta: { fetchedAt: number; date: number; expiresAt: number }; + /** Gets any previously normalized entity from store */ + getEntity: GetEntity; + /** Updates an entity using merge lifecycles when it has previously been set */ + mergeEntity( + schema: Mergeable & { indexes?: any }, + pk: string, + incomingEntity: any, + ): void; + /** Sets an entity overwriting any previously set values */ + setEntity( + schema: { key: string; indexes?: any }, + pk: string, + entity: any, + meta?: { fetchedAt: number; date: number; expiresAt: number }, + ): void; + /** Returns true when we're in a cycle, so we should not continue recursing */ + checkLoop(key: string, pk: string, input: object): boolean; + } + ``` + + #### Before + + ```ts + addEntity(this, processedEntity, id); + ``` + + #### After + + ```ts + delegate.mergeEntity(this, id, processedEntity); + ``` + +- [#3468](https://github.com/reactive/data-client/pull/3468) [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895) Thanks [@ntucker](https://github.com/ntucker)! - delegate.getEntity(key) -> delegate.getEntities(this.key) + + Return value is a restricted interface with keys() and entries() iterator methods. + This applies to both schema.queryKey and schema.normalize method delegates. + + ```ts + const entities = delegate.getEntities(key); + + // foreach on keys + for (const key of entities.keys()) { + } + // Object.keys() (convert to array) + return [...entities.keys()]; + // foreach on full entry + for (const [key, entity] of entities.entries()) { + } + ``` + + #### Before + + ```ts + const entities = delegate.getEntity(this.key); + if (entities) + Object.keys(entities).forEach(collectionPk => { + if (!filterCollections(JSON.parse(collectionPk))) return; + delegate.mergeEntity(this, collectionPk, normalizedValue); + }); + ``` + + #### After + + ```ts + const entities = delegate.getEntities(this.key); + if (entities) + for (const collectionKey of entities.keys()) { + if (!filterCollections(JSON.parse(collectionKey))) continue; + delegate.mergeEntity(this, collectionKey, normalizedValue); + } + ``` + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Remove `INVALID` symbol export + + Schemas can use delegate.invalidate() in normalize() or return delegate.INVALID in queryKey(). + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.queryKey(args, queryKey, getEntity, getIndex) -> schema.queryKey(args, unvisit, delegate) + BREAKING CHANGE: delegate.getIndex() returns the index directly, rather than object. + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + Our recursive call is renamed from queryKey to unvisit, and does not require the last two arguments. + + ```ts + /** Accessors to the currently processing state while building query */ + export interface IQueryDelegate { + getEntity: GetEntity; + getIndex: GetIndex; + } + ``` + + #### Before + + ```ts + queryKey(args, queryKey, getEntity, getIndex) { + getIndex(schema.key, indexName, value)[value]; + getEntity(this.key, id); + return queryKey(this.schema, args, getEntity, getIndex); + } + ``` + + #### After + + ```ts + queryKey(args, unvisit, delegate) { + delegate.getIndex(schema.key, indexName, value); + delegate.getEntity(this.key, id); + return unvisit(this.schema, args); + } + ``` + +### Patch Changes + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - Fix: ensure string id in Entity set when process returns undefined (meaning INVALID) + +- [#3560](https://github.com/reactive/data-client/pull/3560) [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290) Thanks [@ntucker](https://github.com/ntucker)! - Add Collection.remove + + ```ts + ctrl.set(MyResource.getList.schema.remove, { id }); + ``` + + ```ts + const removeItem = MyResource.delete.extend({ + schema: MyResource.getList.schema.remove, + }); + ``` + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Normalize delegate.invalidate() first argument only has `key` param. + + `indexes` optional param no longer provided as it was never used. + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate({ key: this._entity.key }, pk); + return pk; + } + ``` + +- [#3480](https://github.com/reactive/data-client/pull/3480) [`bab907c`](https://github.com/reactive/data-client/commit/bab907ce824c0f7da961d74c9fb8b64ce7c95141) Thanks [@Tomaszal](https://github.com/Tomaszal)! - fix: export types needed for EntityMixin + +- [#3501](https://github.com/reactive/data-client/pull/3501) [`5699005`](https://github.com/reactive/data-client/commit/5699005700206306bc70ff8237bf7ceaac241b82) Thanks [@ntucker](https://github.com/ntucker)! - Fix: schema.All() polymorphic handling of Invalidated entities + + In case an Entity is invalidated, schema.All will continue to properly + filter it out of its list. + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Unions can query() without type discriminator + + #### Before + + ```tsx + // @ts-expect-error + const event = useQuery(EventUnion, { id }); + // event is undefined + const newsEvent = useQuery(EventUnion, { id, type: 'news' }); + // newsEvent is found + ``` + + #### After + + ```tsx + const event = useQuery(EventUnion, { id }); + // event is found + const newsEvent = useQuery(EventUnion, { id, type: 'news' }); + // newsEvent is found + ``` + +- [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8) Thanks [@ntucker](https://github.com/ntucker)! - Include GPT link badge in readme + ## 0.14.25 ### Patch Changes @@ -315,7 +555,6 @@ ### Patch Changes - [#3017](https://github.com/reactive/data-client/pull/3017) [`ce164d2`](https://github.com/reactive/data-client/commit/ce164d286c8afcb2593a86abbf23948a08aa40ba) Thanks [@ntucker](https://github.com/ntucker)! - Queries pass-through suspense rather than ever being undefined - - [useSuspense()](https://dataclient.io/docs/api/useSuspense) return values will not be nullable - [useQuery()](https://dataclient.io/docs/api/useQuery) will still be nullable due to it handling `INVALID` as `undefined` return - [Query.process](https://dataclient.io/rest/api/Query#process) does not need to handle nullable cases @@ -488,7 +727,6 @@ ### Patch Changes - [`2e169b7`](https://github.com/reactive/data-client/commit/2e169b705e4f8e2eea8005291a0e76e9d11764a4) Thanks [@ntucker](https://github.com/ntucker)! - Fix schema.All denormalize INVALID case should also work when class name mangling is performed in production builds - - `unvisit()` always returns `undefined` with `undefined` as input. - `All` returns INVALID from `queryKey()` to invalidate what was previously a special case in `unvisit()` (when there is no table entry for the given entity) @@ -579,7 +817,6 @@ ### Minor Changes - [#2912](https://github.com/reactive/data-client/pull/2912) [`922be79`](https://github.com/reactive/data-client/commit/922be79169a3eeea8e336eee519c165431ead474) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: `null` inputs are no longer filtered from Array or Object - - `[]` and [schema.Array](https://dataclient.io/rest/api/Array) now behave in the same manner. - `null` values are now consistently handled everywhere (being retained). - These were already being retained in [nested Entities](https://dataclient.io/rest/guides/relational-data#nesting) @@ -623,7 +860,6 @@ ### Patch Changes - [#2818](https://github.com/reactive/data-client/pull/2818) [`fc0092883f`](https://github.com/reactive/data-client/commit/fc0092883f5af42a5d270250482b7f0ba9845e95) Thanks [@ntucker](https://github.com/ntucker)! - Fix unpkg bundles and update names - - Client packages namespace into RDC - @data-client/react - RDC - @data-client/core - RDC.Core @@ -656,7 +892,6 @@ - [`664d3eacff`](https://github.com/reactive/data-client/commit/664d3eacff08c3c75e8ed7c3ccc64ee21faa6f7f) Thanks [@ntucker](https://github.com/ntucker)! - Remove dev warning for old versions of client - [#2799](https://github.com/reactive/data-client/pull/2799) [`26a3843d1b`](https://github.com/reactive/data-client/commit/26a3843d1b61900c385d8626d7062d6f0424c137) Thanks [@ntucker](https://github.com/ntucker)! - Removed some forms of automatic entity validation - - Now allow missing schemas making it easier to declare partials - Removed logic for certain keys found out of defaults @@ -669,7 +904,6 @@ ### Minor Changes - [#2784](https://github.com/reactive/data-client/pull/2784) [`c535f6c0ac`](https://github.com/reactive/data-client/commit/c535f6c0ac915b5242c1c7694308b7ee7aab16a1) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGES: - - DELETE removed -> INVALIDATE - drop all support for legacy schemas - entity.expiresAt removed diff --git a/packages/endpoint/package.json b/packages/endpoint/package.json index a21121afacaa..15826727aa20 100644 --- a/packages/endpoint/package.json +++ b/packages/endpoint/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/endpoint", - "version": "0.14.25", + "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Declarative Network Interface Definitions", "homepage": "https://dataclient.io/docs/guides/custom-protocol", "keywords": [ diff --git a/packages/graphql/CHANGELOG.md b/packages/graphql/CHANGELOG.md index 6267173bc208..e1c15044ab4e 100644 --- a/packages/graphql/CHANGELOG.md +++ b/packages/graphql/CHANGELOG.md @@ -1,5 +1,199 @@ # @data-client/graphql +## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Minor Changes + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Add delegate.INVALID to queryKey + + This is used in schema.All.queryKey(). + + #### Before + + ```ts + queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { + if (!found) return INVALID; + } + ``` + + #### After + + ```ts + queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { + if (!found) return delegate.INVALID; + } + ``` + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Add delegate.invalidate() to normalization + + #### Before + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.setEntity(this as any, pk, INVALID); + } + ``` + + #### After + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate(this as any, pk); + } + ``` + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.normalize(...args, addEntity, getEntity, checkLoop) -> schema.normalize(...args, delegate) + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + ```ts + /** Helpers during schema.normalize() */ + export interface INormalizeDelegate { + /** Action meta-data for this normalize call */ + readonly meta: { fetchedAt: number; date: number; expiresAt: number }; + /** Gets any previously normalized entity from store */ + getEntity: GetEntity; + /** Updates an entity using merge lifecycles when it has previously been set */ + mergeEntity( + schema: Mergeable & { indexes?: any }, + pk: string, + incomingEntity: any, + ): void; + /** Sets an entity overwriting any previously set values */ + setEntity( + schema: { key: string; indexes?: any }, + pk: string, + entity: any, + meta?: { fetchedAt: number; date: number; expiresAt: number }, + ): void; + /** Returns true when we're in a cycle, so we should not continue recursing */ + checkLoop(key: string, pk: string, input: object): boolean; + } + ``` + + #### Before + + ```ts + addEntity(this, processedEntity, id); + ``` + + #### After + + ```ts + delegate.mergeEntity(this, id, processedEntity); + ``` + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Remove `INVALID` symbol export + + Schemas can use delegate.invalidate() in normalize() or return delegate.INVALID in queryKey(). + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.queryKey(args, queryKey, getEntity, getIndex) -> schema.queryKey(args, unvisit, delegate) + BREAKING CHANGE: delegate.getIndex() returns the index directly, rather than object. + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + Our recursive call is renamed from queryKey to unvisit, and does not require the last two arguments. + + ```ts + /** Accessors to the currently processing state while building query */ + export interface IQueryDelegate { + getEntity: GetEntity; + getIndex: GetIndex; + } + ``` + + #### Before + + ```ts + queryKey(args, queryKey, getEntity, getIndex) { + getIndex(schema.key, indexName, value)[value]; + getEntity(this.key, id); + return queryKey(this.schema, args, getEntity, getIndex); + } + ``` + + #### After + + ```ts + queryKey(args, unvisit, delegate) { + delegate.getIndex(schema.key, indexName, value); + delegate.getEntity(this.key, id); + return unvisit(this.schema, args); + } + ``` + +### Patch Changes + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - Fix: ensure string id in Entity set when process returns undefined (meaning INVALID) + +- [#3560](https://github.com/reactive/data-client/pull/3560) [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290) Thanks [@ntucker](https://github.com/ntucker)! - Add Collection.remove + + ```ts + ctrl.set(MyResource.getList.schema.remove, { id }); + ``` + + ```ts + const removeItem = MyResource.delete.extend({ + schema: MyResource.getList.schema.remove, + }); + ``` + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Normalize delegate.invalidate() first argument only has `key` param. + + `indexes` optional param no longer provided as it was never used. + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate({ key: this._entity.key }, pk); + return pk; + } + ``` + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Unions can query() without type discriminator + + #### Before + + ```tsx + // @ts-expect-error + const event = useQuery(EventUnion, { id }); + // event is undefined + const newsEvent = useQuery(EventUnion, { id, type: 'news' }); + // newsEvent is found + ``` + + #### After + + ```tsx + const event = useQuery(EventUnion, { id }); + // event is found + const newsEvent = useQuery(EventUnion, { id, type: 'news' }); + // newsEvent is found + ``` + +- Updated dependencies [[`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`bab907c`](https://github.com/reactive/data-client/commit/bab907ce824c0f7da961d74c9fb8b64ce7c95141), [`5699005`](https://github.com/reactive/data-client/commit/5699005700206306bc70ff8237bf7ceaac241b82), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/endpoint@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.14.25 ### Patch Changes @@ -355,7 +549,6 @@ ### Patch Changes - [#3017](https://github.com/reactive/data-client/pull/3017) [`ce164d2`](https://github.com/reactive/data-client/commit/ce164d286c8afcb2593a86abbf23948a08aa40ba) Thanks [@ntucker](https://github.com/ntucker)! - Queries pass-through suspense rather than ever being undefined - - [useSuspense()](https://dataclient.io/docs/api/useSuspense) return values will not be nullable - [useQuery()](https://dataclient.io/docs/api/useQuery) will still be nullable due to it handling `INVALID` as `undefined` return - [Query.process](https://dataclient.io/rest/api/Query#process) does not need to handle nullable cases @@ -560,7 +753,6 @@ ### Patch Changes - [#2818](https://github.com/reactive/data-client/pull/2818) [`fc0092883f`](https://github.com/reactive/data-client/commit/fc0092883f5af42a5d270250482b7f0ba9845e95) Thanks [@ntucker](https://github.com/ntucker)! - Fix unpkg bundles and update names - - Client packages namespace into RDC - @data-client/react - RDC - @data-client/core - RDC.Core @@ -600,7 +792,6 @@ - [`664d3eacff`](https://github.com/reactive/data-client/commit/664d3eacff08c3c75e8ed7c3ccc64ee21faa6f7f) Thanks [@ntucker](https://github.com/ntucker)! - Remove dev warning for old versions of client - [#2799](https://github.com/reactive/data-client/pull/2799) [`26a3843d1b`](https://github.com/reactive/data-client/commit/26a3843d1b61900c385d8626d7062d6f0424c137) Thanks [@ntucker](https://github.com/ntucker)! - Removed some forms of automatic entity validation - - Now allow missing schemas making it easier to declare partials - Removed logic for certain keys found out of defaults diff --git a/packages/graphql/package.json b/packages/graphql/package.json index 5ac91fa93efc..19790e3c5af3 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/graphql", - "version": "0.14.25", + "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Quickly define typed GraphQL resources and endpoints", "homepage": "https://dataclient.io/docs/graphql", "repository": { @@ -107,7 +107,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/endpoint": "^0.14.25" + "@data-client/endpoint": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" }, "devDependencies": { "@anansi/browserslist-config": "^1.4.2", diff --git a/packages/img/CHANGELOG.md b/packages/img/CHANGELOG.md index 2102fc416b8f..74b26fbc802e 100644 --- a/packages/img/CHANGELOG.md +++ b/packages/img/CHANGELOG.md @@ -1,5 +1,19 @@ # @data-client/img +## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Minor Changes + +- [`769cb78`](https://github.com/reactive/data-client/commit/769cb78966aed032c90864c701dae2bac0cc1e4d) Thanks [@ntucker](https://github.com/ntucker)! - Support 0.15 of @data-client/react + +### Patch Changes + +- [`b978362`](https://github.com/reactive/data-client/commit/b97836216eb9e8d9a403dd1ed88797f2db777dbb) Thanks [@ntucker](https://github.com/ntucker)! - Update readme example to useSuspense() + +- Updated dependencies [[`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`997ca20`](https://github.com/reactive/data-client/commit/997ca209d36e8503ab7684bccc6ddc29d179a0b5), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`bab907c`](https://github.com/reactive/data-client/commit/bab907ce824c0f7da961d74c9fb8b64ce7c95141), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`5699005`](https://github.com/reactive/data-client/commit/5699005700206306bc70ff8237bf7ceaac241b82), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/react@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/endpoint@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.14.21 ### Patch Changes @@ -128,7 +142,6 @@ ### Patch Changes - [#2818](https://github.com/reactive/data-client/pull/2818) [`fc0092883f`](https://github.com/reactive/data-client/commit/fc0092883f5af42a5d270250482b7f0ba9845e95) Thanks [@ntucker](https://github.com/ntucker)! - Fix unpkg bundles and update names - - Client packages namespace into RDC - @data-client/react - RDC - @data-client/core - RDC.Core diff --git a/packages/img/package.json b/packages/img/package.json index 3a5baa465718..e9aa055850ae 100644 --- a/packages/img/package.json +++ b/packages/img/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/img", - "version": "0.14.21", + "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Suspenseful images", "homepage": "https://dataclient.io/docs/guides/img-media#just-images", "repository": { @@ -75,10 +75,10 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/endpoint": "^0.14.25" + "@data-client/endpoint": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" }, "peerDependencies": { - "@data-client/react": "^0.1.0 || ^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0", + "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "@types/react": "^16.14.0 || ^17.0.0 || ^18.0.0-0 || ^19.0.0", "react": "^16.14.0 || ^17.0.0 || ^18.0.0-0 || ^19.0.0" }, diff --git a/packages/normalizr/CHANGELOG.md b/packages/normalizr/CHANGELOG.md index 63f8e4f4e4b8..eaadddeac66b 100644 --- a/packages/normalizr/CHANGELOG.md +++ b/packages/normalizr/CHANGELOG.md @@ -1,5 +1,295 @@ # Change Log +## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Minor Changes + +- [#3421](https://github.com/reactive/data-client/pull/3421) [`246cde6`](https://github.com/reactive/data-client/commit/246cde6dbeca59eafd10e59d8cd05a6f232fb219) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: Denormalize always transforms immutablejs entities into the class + + Previously using ImmutableJS structures when calling denormalize() would maintain + nested schemas as immutablejs structures still. Now everything is converted to normal JS. + This is how the types have always been specified. + +- [#3468](https://github.com/reactive/data-client/pull/3468) [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING: denormalize no longer detects ImmutableJS state + + Use `/imm` exports to handle ImmutableJS state + + #### Before + + ```ts + import { MemoCache, denormalize } from '@data-client/normalizr'; + + const memo = new MemoCache(); + ``` + + #### After + + ```ts + import { MemoCache } from '@data-client/normalizr'; + import { MemoPolicy, denormalize } from '@data-client/normalizr/imm'; + + const memo = new MemoCache(MemoPolicy); + ``` + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Add delegate.INVALID to queryKey + + This is used in schema.All.queryKey(). + + #### Before + + ```ts + queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { + if (!found) return INVALID; + } + ``` + + #### After + + ```ts + queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { + if (!found) return delegate.INVALID; + } + ``` + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Add delegate.invalidate() to normalization + + #### Before + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.setEntity(this as any, pk, INVALID); + } + ``` + + #### After + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate(this as any, pk); + } + ``` + +- [#3454](https://github.com/reactive/data-client/pull/3454) [`66e1906`](https://github.com/reactive/data-client/commit/66e19064d21225c70639f3b4799e54c259ce6905) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: MemoCache.query() and MemoCache.buildQueryKey() take state as one argument + + #### Before + + ```ts + this.memo.buildQueryKey(schema, args, state.entities, state.indexes, key); + ``` + + #### After + + ```ts + this.memo.buildQueryKey(schema, args, state, key); + ``` + + #### Before + + ```ts + this.memo.query(schema, args, state.entities, state.indexes); + ``` + + #### After + + ```ts + this.memo.query(schema, args, state); + ``` + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.normalize(...args, addEntity, getEntity, checkLoop) -> schema.normalize(...args, delegate) + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + ```ts + /** Helpers during schema.normalize() */ + export interface INormalizeDelegate { + /** Action meta-data for this normalize call */ + readonly meta: { fetchedAt: number; date: number; expiresAt: number }; + /** Gets any previously normalized entity from store */ + getEntity: GetEntity; + /** Updates an entity using merge lifecycles when it has previously been set */ + mergeEntity( + schema: Mergeable & { indexes?: any }, + pk: string, + incomingEntity: any, + ): void; + /** Sets an entity overwriting any previously set values */ + setEntity( + schema: { key: string; indexes?: any }, + pk: string, + entity: any, + meta?: { fetchedAt: number; date: number; expiresAt: number }, + ): void; + /** Returns true when we're in a cycle, so we should not continue recursing */ + checkLoop(key: string, pk: string, input: object): boolean; + } + ``` + + #### Before + + ```ts + addEntity(this, processedEntity, id); + ``` + + #### After + + ```ts + delegate.mergeEntity(this, id, processedEntity); + ``` + +- [#3468](https://github.com/reactive/data-client/pull/3468) [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895) Thanks [@ntucker](https://github.com/ntucker)! - delegate.getEntity(key) -> delegate.getEntities(this.key) + + Return value is a restricted interface with keys() and entries() iterator methods. + This applies to both schema.queryKey and schema.normalize method delegates. + + ```ts + const entities = delegate.getEntities(key); + + // foreach on keys + for (const key of entities.keys()) { + } + // Object.keys() (convert to array) + return [...entities.keys()]; + // foreach on full entry + for (const [key, entity] of entities.entries()) { + } + ``` + + #### Before + + ```ts + const entities = delegate.getEntity(this.key); + if (entities) + Object.keys(entities).forEach(collectionPk => { + if (!filterCollections(JSON.parse(collectionPk))) return; + delegate.mergeEntity(this, collectionPk, normalizedValue); + }); + ``` + + #### After + + ```ts + const entities = delegate.getEntities(this.key); + if (entities) + for (const collectionKey of entities.keys()) { + if (!filterCollections(JSON.parse(collectionKey))) continue; + delegate.mergeEntity(this, collectionKey, normalizedValue); + } + ``` + +- [#3451](https://github.com/reactive/data-client/pull/3451) [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d) Thanks [@ntucker](https://github.com/ntucker)! - state.entityMeta -> state.entitiesMeta + +- [#3372](https://github.com/reactive/data-client/pull/3372) [`25b153a`](https://github.com/reactive/data-client/commit/25b153a9d80db1bcd17ab5558dfa13b333f112b8) Thanks [@ntucker](https://github.com/ntucker)! - MemoCache.query returns `{ data, paths }` just like denormalize. `data` could be INVALID + + #### Before + + ```ts + return this.memo.query(schema, args, state); + ``` + + #### After + + ```ts + const { data } = this.memo.query(schema, args, state); + return typeof data === 'symbol' ? undefined : (data as any); + ``` + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.queryKey(args, queryKey, getEntity, getIndex) -> schema.queryKey(args, unvisit, delegate) + BREAKING CHANGE: delegate.getIndex() returns the index directly, rather than object. + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + Our recursive call is renamed from queryKey to unvisit, and does not require the last two arguments. + + ```ts + /** Accessors to the currently processing state while building query */ + export interface IQueryDelegate { + getEntity: GetEntity; + getIndex: GetIndex; + } + ``` + + #### Before + + ```ts + queryKey(args, queryKey, getEntity, getIndex) { + getIndex(schema.key, indexName, value)[value]; + getEntity(this.key, id); + return queryKey(this.schema, args, getEntity, getIndex); + } + ``` + + #### After + + ```ts + queryKey(args, unvisit, delegate) { + delegate.getIndex(schema.key, indexName, value); + delegate.getEntity(this.key, id); + return unvisit(this.schema, args); + } + ``` + +### Patch Changes + +- [#3468](https://github.com/reactive/data-client/pull/3468) [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895) Thanks [@ntucker](https://github.com/ntucker)! - Add /imm exports path for handling ImmutableJS state + + #### MemoCache + + ```ts + import { MemoCache } from '@data-client/normalizr'; + import { MemoPolicy } from '@data-client/normalizr/imm'; + + const memo = new MemoCache(MemoPolicy); + + // entities is an ImmutableJS Map + const value = MemoCache.denormalize(Todo, '1', entities); + ``` + + #### denormalize + + non-memoized denormalize + + ```ts + import { denormalize } from '@data-client/normalizr/imm'; + + // entities is an ImmutableJS Map + const value = denormalize(Todo, '1', entities); + ``` + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Normalize delegate.invalidate() first argument only has `key` param. + + `indexes` optional param no longer provided as it was never used. + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate({ key: this._entity.key }, pk); + return pk; + } + ``` + +- [#3468](https://github.com/reactive/data-client/pull/3468) [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895) Thanks [@ntucker](https://github.com/ntucker)! - Improve performance of get/denormalize for small responses + - 10-20% performance improvement due to removing immutablejs check for every call + ## 0.14.22 ### Patch Changes @@ -238,7 +528,6 @@ ### Minor Changes - [`2e169b7`](https://github.com/reactive/data-client/commit/2e169b705e4f8e2eea8005291a0e76e9d11764a4) Thanks [@ntucker](https://github.com/ntucker)! - Fix schema.All denormalize INVALID case should also work when class name mangling is performed in production builds - - `unvisit()` always returns `undefined` with `undefined` as input. - `All` returns INVALID from `queryKey()` to invalidate what was previously a special case in `unvisit()` (when there is no table entry for the given entity) @@ -440,7 +729,6 @@ ### Minor Changes - [#2912](https://github.com/reactive/data-client/pull/2912) [`922be79`](https://github.com/reactive/data-client/commit/922be79169a3eeea8e336eee519c165431ead474) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: `null` inputs are no longer filtered from Array or Object - - `[]` and [schema.Array](https://dataclient.io/rest/api/Array) now behave in the same manner. - `null` values are now consistently handled everywhere (being retained). - These were already being retained in [nested Entities](https://dataclient.io/rest/guides/relational-data#nesting) @@ -469,7 +757,6 @@ ### Patch Changes - [#2818](https://github.com/reactive/data-client/pull/2818) [`fc0092883f`](https://github.com/reactive/data-client/commit/fc0092883f5af42a5d270250482b7f0ba9845e95) Thanks [@ntucker](https://github.com/ntucker)! - Fix unpkg bundles and update names - - Client packages namespace into RDC - @data-client/react - RDC - @data-client/core - RDC.Core @@ -494,7 +781,6 @@ ### Minor Changes - [#2784](https://github.com/reactive/data-client/pull/2784) [`c535f6c0ac`](https://github.com/reactive/data-client/commit/c535f6c0ac915b5242c1c7694308b7ee7aab16a1) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGES: - - DELETE removed -> INVALIDATE - drop all support for legacy schemas - entity.expiresAt removed diff --git a/packages/normalizr/package.json b/packages/normalizr/package.json index bd6517816dea..aa32371fa7a9 100644 --- a/packages/normalizr/package.json +++ b/packages/normalizr/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/normalizr", - "version": "0.14.22", + "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Normalizes and denormalizes JSON according to schema for Redux and Flux applications", "homepage": "https://dataclient.io/docs/concepts/normalization", "keywords": [ diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index b4c21df345f2..888589e0b3f9 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,150 @@ # @data-client/react +## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Minor Changes + +- [#3459](https://github.com/reactive/data-client/pull/3459) [`997ca20`](https://github.com/reactive/data-client/commit/997ca209d36e8503ab7684bccc6ddc29d179a0b5) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: useDebounce() returns [val, isPending] + + This was previously exported in `@data-client/react/next` to make migrations easy. This will + still be available there. + + #### Before + + ```ts + import { useDebounce } from '@data-client/react'; + const debouncedQuery = useDebounce(query, 100); + ``` + + #### After + + ```ts + import { useDebounce } from '@data-client/react'; + const [debouncedQuery] = useDebounce(query, 100); + ``` + + #### Before + + ```ts + import { useDebounce } from '@data-client/react/next'; + const [debouncedQuery, isPending] = useDebounce(query, 100); + ``` + + #### After + + ```ts + import { useDebounce } from '@data-client/react'; + const [debouncedQuery, isPending] = useDebounce(query, 100); + ``` + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.normalize(...args, addEntity, getEntity, checkLoop) -> schema.normalize(...args, delegate) + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + ```ts + /** Helpers during schema.normalize() */ + export interface INormalizeDelegate { + /** Action meta-data for this normalize call */ + readonly meta: { fetchedAt: number; date: number; expiresAt: number }; + /** Gets any previously normalized entity from store */ + getEntity: GetEntity; + /** Updates an entity using merge lifecycles when it has previously been set */ + mergeEntity( + schema: Mergeable & { indexes?: any }, + pk: string, + incomingEntity: any, + ): void; + /** Sets an entity overwriting any previously set values */ + setEntity( + schema: { key: string; indexes?: any }, + pk: string, + entity: any, + meta?: { fetchedAt: number; date: number; expiresAt: number }, + ): void; + /** Returns true when we're in a cycle, so we should not continue recursing */ + checkLoop(key: string, pk: string, input: object): boolean; + } + ``` + + #### Before + + ```ts + addEntity(this, processedEntity, id); + ``` + + #### After + + ```ts + delegate.mergeEntity(this, id, processedEntity); + ``` + +- [#3451](https://github.com/reactive/data-client/pull/3451) [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d) Thanks [@ntucker](https://github.com/ntucker)! - state.entityMeta -> state.entitiesMeta + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.queryKey(args, queryKey, getEntity, getIndex) -> schema.queryKey(args, unvisit, delegate) + BREAKING CHANGE: delegate.getIndex() returns the index directly, rather than object. + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + Our recursive call is renamed from queryKey to unvisit, and does not require the last two arguments. + + ```ts + /** Accessors to the currently processing state while building query */ + export interface IQueryDelegate { + getEntity: GetEntity; + getIndex: GetIndex; + } + ``` + + #### Before + + ```ts + queryKey(args, queryKey, getEntity, getIndex) { + getIndex(schema.key, indexName, value)[value]; + getEntity(this.key, id); + return queryKey(this.schema, args, getEntity, getIndex); + } + ``` + + #### After + + ```ts + queryKey(args, unvisit, delegate) { + delegate.getIndex(schema.key, indexName, value); + delegate.getEntity(this.key, id); + return unvisit(this.schema, args); + } + ``` + +### Patch Changes + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - Fix controller.get and controller.getQueryMeta 'state' argument types + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Normalize delegate.invalidate() first argument only has `key` param. + + `indexes` optional param no longer provided as it was never used. + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate({ key: this._entity.key }, pk); + return pk; + } + ``` + +- [#3468](https://github.com/reactive/data-client/pull/3468) [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895) Thanks [@ntucker](https://github.com/ntucker)! - Improve performance of get/denormalize for small responses + - 10-20% performance improvement due to removing immutablejs check for every call + +- [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8) Thanks [@ntucker](https://github.com/ntucker)! - Include GPT link badge in readme + +- Updated dependencies [[`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`d44d36a`](https://github.com/reactive/data-client/commit/d44d36a7de0a18817486c4f723bf2f0e86ac9677), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7)]: + - @data-client/core@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.14.25 ### Patch Changes @@ -408,7 +553,6 @@ - [`d84b43c`](https://github.com/reactive/data-client/commit/d84b43cf728d714da7182f2c19b39f49e0ec0366) Thanks [@ntucker](https://github.com/ntucker)! - Move NetworkManager missing detection to initialization (applyManager()) - [`06df291`](https://github.com/reactive/data-client/commit/06df291a1f1d91afa331310dfb8319bc8d1a3ba8) Thanks [@ntucker](https://github.com/ntucker)! - Reorder action members for easier debuggability - - `key` at top - easiest to read 'subject' - `response` or `value` after - 'object' being set @@ -734,7 +878,6 @@ ``` BREAKING CHANGE: - - actionTypes.SET_TYPE -> actionTypes.SET_RESPONSE_TYPE - SetAction -> SetResponseAction @@ -1169,7 +1312,6 @@ ### Patch Changes - [`2e169b7`](https://github.com/reactive/data-client/commit/2e169b705e4f8e2eea8005291a0e76e9d11764a4) Thanks [@ntucker](https://github.com/ntucker)! - Fix schema.All denormalize INVALID case should also work when class name mangling is performed in production builds - - `unvisit()` always returns `undefined` with `undefined` as input. - `All` returns INVALID from `queryKey()` to invalidate what was previously a special case in `unvisit()` (when there is no table entry for the given entity) @@ -1190,7 +1332,6 @@ ### Minor Changes - [#2912](https://github.com/reactive/data-client/pull/2912) [`922be79`](https://github.com/reactive/data-client/commit/922be79169a3eeea8e336eee519c165431ead474) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: `null` inputs are no longer filtered from Array or Object - - `[]` and [schema.Array](https://dataclient.io/rest/api/Array) now behave in the same manner. - `null` values are now consistently handled everywhere (being retained). - These were already being retained in [nested Entities](https://dataclient.io/rest/guides/relational-data#nesting) @@ -1245,7 +1386,6 @@ ### Patch Changes - [#2818](https://github.com/reactive/data-client/pull/2818) [`fc0092883f`](https://github.com/reactive/data-client/commit/fc0092883f5af42a5d270250482b7f0ba9845e95) Thanks [@ntucker](https://github.com/ntucker)! - Fix unpkg bundles and update names - - Client packages namespace into RDC - @data-client/react - RDC - @data-client/core - RDC.Core @@ -1357,7 +1497,6 @@ ``` - [#2784](https://github.com/reactive/data-client/pull/2784) [`c535f6c0ac`](https://github.com/reactive/data-client/commit/c535f6c0ac915b5242c1c7694308b7ee7aab16a1) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGES: - - DELETE removed -> INVALIDATE - drop all support for legacy schemas - entity.expiresAt removed @@ -1367,7 +1506,6 @@ - [#2782](https://github.com/reactive/data-client/pull/2782) [`d3343d42b9`](https://github.com/reactive/data-client/commit/d3343d42b970d075eda201cb85d201313120807c) Thanks [@ntucker](https://github.com/ntucker)! - Remove all 'receive' action names (use 'set' instead) BREAKING CHANGE: - - remove ReceiveAction - ReceiveTypes -> SetTypes - remove Controller.receive Controller.receiveError diff --git a/packages/react/package.json b/packages/react/package.json index afd92f64ea83..8b6c23522815 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/react", - "version": "0.14.25", + "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "homepage": "https://dataclient.io", "repository": { @@ -170,7 +170,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/core": "^0.14.24", + "@data-client/core": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "@data-client/use-enhanced-reducer": "^0.1.14" }, "peerDependencies": { diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index 46f019d836cc..710d116139f4 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,5 +1,201 @@ # @data-client/rest +## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Minor Changes + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Add delegate.INVALID to queryKey + + This is used in schema.All.queryKey(). + + #### Before + + ```ts + queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { + if (!found) return INVALID; + } + ``` + + #### After + + ```ts + queryKey(args: any, unvisit: any, delegate: IQueryDelegate): any { + if (!found) return delegate.INVALID; + } + ``` + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Add delegate.invalidate() to normalization + + #### Before + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.setEntity(this as any, pk, INVALID); + } + ``` + + #### After + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate(this as any, pk); + } + ``` + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.normalize(...args, addEntity, getEntity, checkLoop) -> schema.normalize(...args, delegate) + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + ```ts + /** Helpers during schema.normalize() */ + export interface INormalizeDelegate { + /** Action meta-data for this normalize call */ + readonly meta: { fetchedAt: number; date: number; expiresAt: number }; + /** Gets any previously normalized entity from store */ + getEntity: GetEntity; + /** Updates an entity using merge lifecycles when it has previously been set */ + mergeEntity( + schema: Mergeable & { indexes?: any }, + pk: string, + incomingEntity: any, + ): void; + /** Sets an entity overwriting any previously set values */ + setEntity( + schema: { key: string; indexes?: any }, + pk: string, + entity: any, + meta?: { fetchedAt: number; date: number; expiresAt: number }, + ): void; + /** Returns true when we're in a cycle, so we should not continue recursing */ + checkLoop(key: string, pk: string, input: object): boolean; + } + ``` + + #### Before + + ```ts + addEntity(this, processedEntity, id); + ``` + + #### After + + ```ts + delegate.mergeEntity(this, id, processedEntity); + ``` + +- [#3461](https://github.com/reactive/data-client/pull/3461) [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2) Thanks [@ntucker](https://github.com/ntucker)! - Remove `INVALID` symbol export + + Schemas can use delegate.invalidate() in normalize() or return delegate.INVALID in queryKey(). + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - BREAKING CHANGE: schema.queryKey(args, queryKey, getEntity, getIndex) -> schema.queryKey(args, unvisit, delegate) + BREAKING CHANGE: delegate.getIndex() returns the index directly, rather than object. + + We consolidate all 'callback' functions during recursion calls into a single 'delegate' argument. + + Our recursive call is renamed from queryKey to unvisit, and does not require the last two arguments. + + ```ts + /** Accessors to the currently processing state while building query */ + export interface IQueryDelegate { + getEntity: GetEntity; + getIndex: GetIndex; + } + ``` + + #### Before + + ```ts + queryKey(args, queryKey, getEntity, getIndex) { + getIndex(schema.key, indexName, value)[value]; + getEntity(this.key, id); + return queryKey(this.schema, args, getEntity, getIndex); + } + ``` + + #### After + + ```ts + queryKey(args, unvisit, delegate) { + delegate.getIndex(schema.key, indexName, value); + delegate.getEntity(this.key, id); + return unvisit(this.schema, args); + } + ``` + +### Patch Changes + +- [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - Fix: ensure string id in Entity set when process returns undefined (meaning INVALID) + +- [#3560](https://github.com/reactive/data-client/pull/3560) [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290) Thanks [@ntucker](https://github.com/ntucker)! - Add Collection.remove + + ```ts + ctrl.set(MyResource.getList.schema.remove, { id }); + ``` + + ```ts + const removeItem = MyResource.delete.extend({ + schema: MyResource.getList.schema.remove, + }); + ``` + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Normalize delegate.invalidate() first argument only has `key` param. + + `indexes` optional param no longer provided as it was never used. + + ```ts + normalize( + input: any, + parent: any, + key: string | undefined, + args: any[], + visit: (...args: any) => any, + delegate: INormalizeDelegate, + ): string { + delegate.invalidate({ key: this._entity.key }, pk); + return pk; + } + ``` + +- [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Unions can query() without type discriminator + + #### Before + + ```tsx + // @ts-expect-error + const event = useQuery(EventUnion, { id }); + // event is undefined + const newsEvent = useQuery(EventUnion, { id, type: 'news' }); + // newsEvent is found + ``` + + #### After + + ```tsx + const event = useQuery(EventUnion, { id }); + // event is found + const newsEvent = useQuery(EventUnion, { id, type: 'news' }); + // newsEvent is found + ``` + +- [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8) Thanks [@ntucker](https://github.com/ntucker)! - Include GPT link badge in readme + +- Updated dependencies [[`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`ba31c9b`](https://github.com/reactive/data-client/commit/ba31c9b2d3c4ec5620bb64e49daf9b18994b9290), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`bab907c`](https://github.com/reactive/data-client/commit/bab907ce824c0f7da961d74c9fb8b64ce7c95141), [`5699005`](https://github.com/reactive/data-client/commit/5699005700206306bc70ff8237bf7ceaac241b82), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/endpoint@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.14.25 ### Patch Changes @@ -480,7 +676,6 @@ ### Patch Changes - [#3017](https://github.com/reactive/data-client/pull/3017) [`ce164d2`](https://github.com/reactive/data-client/commit/ce164d286c8afcb2593a86abbf23948a08aa40ba) Thanks [@ntucker](https://github.com/ntucker)! - Queries pass-through suspense rather than ever being undefined - - [useSuspense()](https://dataclient.io/docs/api/useSuspense) return values will not be nullable - [useQuery()](https://dataclient.io/docs/api/useQuery) will still be nullable due to it handling `INVALID` as `undefined` return - [Query.process](https://dataclient.io/rest/api/Query#process) does not need to handle nullable cases @@ -629,7 +824,6 @@ ### Patch Changes - [`2e169b7`](https://github.com/reactive/data-client/commit/2e169b705e4f8e2eea8005291a0e76e9d11764a4) Thanks [@ntucker](https://github.com/ntucker)! - Fix schema.All denormalize INVALID case should also work when class name mangling is performed in production builds - - `unvisit()` always returns `undefined` with `undefined` as input. - `All` returns INVALID from `queryKey()` to invalidate what was previously a special case in `unvisit()` (when there is no table entry for the given entity) @@ -745,7 +939,6 @@ ### Patch Changes - [#2818](https://github.com/reactive/data-client/pull/2818) [`fc0092883f`](https://github.com/reactive/data-client/commit/fc0092883f5af42a5d270250482b7f0ba9845e95) Thanks [@ntucker](https://github.com/ntucker)! - Fix unpkg bundles and update names - - Client packages namespace into RDC - @data-client/react - RDC - @data-client/core - RDC.Core @@ -785,7 +978,6 @@ - [`664d3eacff`](https://github.com/reactive/data-client/commit/664d3eacff08c3c75e8ed7c3ccc64ee21faa6f7f) Thanks [@ntucker](https://github.com/ntucker)! - Remove dev warning for old versions of client - [#2799](https://github.com/reactive/data-client/pull/2799) [`26a3843d1b`](https://github.com/reactive/data-client/commit/26a3843d1b61900c385d8626d7062d6f0424c137) Thanks [@ntucker](https://github.com/ntucker)! - Removed some forms of automatic entity validation - - Now allow missing schemas making it easier to declare partials - Removed logic for certain keys found out of defaults diff --git a/packages/rest/package.json b/packages/rest/package.json index 775e4e950657..598f2b7760b8 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/rest", - "version": "0.14.25", + "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Quickly define typed REST resources and endpoints", "homepage": "https://dataclient.io/rest", "repository": { @@ -135,7 +135,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/endpoint": "^0.14.25", + "@data-client/endpoint": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "path-to-regexp": "^6.3.0" }, "devDependencies": { diff --git a/packages/test/CHANGELOG.md b/packages/test/CHANGELOG.md index 4d8251c10107..efb1d8994401 100644 --- a/packages/test/CHANGELOG.md +++ b/packages/test/CHANGELOG.md @@ -1,5 +1,33 @@ # @data-client/test +## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + +### Minor Changes + +- [#3394](https://github.com/reactive/data-client/pull/3394) [`d44d36a`](https://github.com/reactive/data-client/commit/d44d36a7de0a18817486c4f723bf2f0e86ac9677) Thanks [@ntucker](https://github.com/ntucker)! - Change NetworkManager bookkeeping data structure for inflight fetches + + BREAKING CHANGE: NetworkManager.fetched, NetworkManager.rejectors, NetworkManager.resolvers, NetworkManager.fetchedAt + -> NetworkManager.fetching + + #### Before + + ```ts + if (action.key in this.fetched) + ``` + + #### After + + ```ts + if (this.fetching.has(action.key)) + ``` + +- [`769cb78`](https://github.com/reactive/data-client/commit/769cb78966aed032c90864c701dae2bac0cc1e4d) Thanks [@ntucker](https://github.com/ntucker)! - Support 0.15 of @data-client/react + +### Patch Changes + +- Updated dependencies [[`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`997ca20`](https://github.com/reactive/data-client/commit/997ca209d36e8503ab7684bccc6ddc29d179a0b5), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`35552c7`](https://github.com/reactive/data-client/commit/35552c716e3b688d69212654f9f95a05ea26a7f8)]: + - @data-client/react@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.14.22 ### Patch Changes diff --git a/packages/test/package.json b/packages/test/package.json index ccc545d01bb4..d948aa921fea 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/test", - "version": "0.14.22", + "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "description": "Testing utilities for Data Client", "homepage": "https://dataclient.io/docs/guides/storybook", "repository": { @@ -121,7 +121,7 @@ "@testing-library/react-native": "^13.0.0" }, "peerDependencies": { - "@data-client/react": "^0.12.15 || ^0.13.0 || ^0.14.0 || ^0.15.0", + "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", "@testing-library/react-hooks": "^8.0.0", "@types/react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-0 || ^19.0.0", "@types/react-dom": "*", diff --git a/yarn.lock b/yarn.lock index ee8c87f484ab..e97f054a5278 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3186,14 +3186,14 @@ __metadata: languageName: node linkType: hard -"@data-client/core@npm:^0.14.24, @data-client/core@workspace:*, @data-client/core@workspace:^, @data-client/core@workspace:packages/core": +"@data-client/core@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/core@workspace:*, @data-client/core@workspace:^, @data-client/core@workspace:packages/core": version: 0.0.0-use.local resolution: "@data-client/core@workspace:packages/core" dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" "@data-client/endpoint": "workspace:*" - "@data-client/normalizr": "npm:^0.14.22" + "@data-client/normalizr": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" "@types/jest": "npm:30.0.0" "@types/node": "npm:^22.0.0" flux-standard-action: "npm:^2.1.1" @@ -3201,7 +3201,7 @@ __metadata: languageName: unknown linkType: soft -"@data-client/endpoint@npm:^0.14.25, @data-client/endpoint@workspace:*, @data-client/endpoint@workspace:^, @data-client/endpoint@workspace:packages/endpoint": +"@data-client/endpoint@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/endpoint@workspace:*, @data-client/endpoint@workspace:^, @data-client/endpoint@workspace:packages/endpoint": version: 0.0.0-use.local resolution: "@data-client/endpoint@workspace:packages/endpoint" dependencies: @@ -3224,7 +3224,7 @@ __metadata: dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/endpoint": "npm:^0.14.25" + "@data-client/endpoint": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" "@types/jest": "npm:30.0.0" "@types/node": "npm:^22.0.0" nock: "npm:13.3.1" @@ -3232,13 +3232,13 @@ __metadata: languageName: unknown linkType: soft -"@data-client/img@npm:^0.14.0, @data-client/img@workspace:packages/img": +"@data-client/img@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/img@workspace:packages/img": version: 0.0.0-use.local resolution: "@data-client/img@workspace:packages/img" dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/endpoint": "npm:^0.14.25" + "@data-client/endpoint": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" "@data-client/react": "workspace:*" "@testing-library/react": "npm:^16.1.0" "@types/jest": "npm:30.0.0" @@ -3247,7 +3247,7 @@ __metadata: react: "npm:^19.0.0" rollup-plugins: "workspace:*" peerDependencies: - "@data-client/react": ^0.1.0 || ^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 + "@data-client/react": 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b "@types/react": ^16.14.0 || ^17.0.0 || ^18.0.0-0 || ^19.0.0 react: ^16.14.0 || ^17.0.0 || ^18.0.0-0 || ^19.0.0 peerDependenciesMeta: @@ -3256,7 +3256,7 @@ __metadata: languageName: unknown linkType: soft -"@data-client/normalizr@npm:^0.14.22, @data-client/normalizr@workspace:*, @data-client/normalizr@workspace:^, @data-client/normalizr@workspace:packages/normalizr": +"@data-client/normalizr@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/normalizr@workspace:*, @data-client/normalizr@workspace:^, @data-client/normalizr@workspace:packages/normalizr": version: 0.0.0-use.local resolution: "@data-client/normalizr@workspace:packages/normalizr" dependencies: @@ -3271,13 +3271,13 @@ __metadata: languageName: unknown linkType: soft -"@data-client/react@npm:^0.14.0, @data-client/react@workspace:*, @data-client/react@workspace:packages/react": +"@data-client/react@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/react@workspace:*, @data-client/react@workspace:packages/react": version: 0.0.0-use.local resolution: "@data-client/react@workspace:packages/react" dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/core": "npm:^0.14.24" + "@data-client/core": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" "@data-client/rest": "workspace:*" "@data-client/test": "workspace:*" "@data-client/use-enhanced-reducer": "npm:^0.1.14" @@ -3315,13 +3315,13 @@ __metadata: languageName: unknown linkType: soft -"@data-client/rest@npm:^0.14.0, @data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest": +"@data-client/rest@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest": version: 0.0.0-use.local resolution: "@data-client/rest@workspace:packages/rest" dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/endpoint": "npm:^0.14.25" + "@data-client/endpoint": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" "@data-client/react": "workspace:*" "@data-client/test": "workspace:*" "@types/jest": "npm:30.0.0" @@ -3354,7 +3354,7 @@ __metadata: react-test-renderer: "npm:*" rollup-plugins: "workspace:*" peerDependencies: - "@data-client/react": ^0.12.15 || ^0.13.0 || ^0.14.0 || ^0.15.0 + "@data-client/react": 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b "@testing-library/react-hooks": ^8.0.0 "@types/react": ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-0 || ^19.0.0 "@types/react-dom": "*" @@ -11400,9 +11400,9 @@ __metadata: "@anansi/webpack-config": "npm:^21.0.0" "@babel/core": "npm:^7.22.15" "@babel/runtime-corejs3": "npm:^7.26.7" - "@data-client/img": "npm:^0.14.0" - "@data-client/react": "npm:^0.14.0" - "@data-client/rest": "npm:^0.14.0" + "@data-client/img": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/react": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/rest": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" "@linaria/babel-preset": "npm:*" "@linaria/core": "npm:*" "@linaria/react": "npm:*" @@ -29446,9 +29446,9 @@ __metadata: "@anansi/webpack-config": "npm:^21.0.0" "@babel/core": "npm:^7.22.15" "@babel/runtime-corejs3": "npm:^7.26.7" - "@data-client/img": "npm:^0.14.0" - "@data-client/react": "npm:^0.14.0" - "@data-client/rest": "npm:^0.14.0" + "@data-client/img": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/react": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/rest": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" "@types/react": "npm:*" "@types/react-dom": "npm:*" core-js: "npm:^3.40.0" From 0e5f6bd2963b6deecb68b5febe71cdd3b10c801a Mon Sep 17 00:00:00 2001 From: Nathaniel Tucker Date: Tue, 21 Oct 2025 20:23:39 -0400 Subject: [PATCH 02/13] internal: Fix package references --- examples/benchmark/package.json | 6 +- examples/coin-app/package.json | 6 +- examples/github-app/package.json | 8 +-- examples/nextjs/package.json | 4 +- examples/normalizr-github/package.json | 4 +- examples/normalizr-relationships/package.json | 4 +- examples/test-bundlesize/package.json | 6 +- examples/todo-app/package.json | 6 +- packages/core/package.json | 2 +- packages/graphql/package.json | 2 +- packages/img/package.json | 2 +- packages/react/package.json | 4 +- packages/rest/package.json | 2 +- packages/vue/package.json | 2 +- yarn.lock | 70 +++++++------------ 15 files changed, 54 insertions(+), 74 deletions(-) diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index b5a70ed04659..0312eef6e3f8 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -17,9 +17,9 @@ "start:deopt": "NODE_ENV=production npx dexnode --out v8.log --redirect-code-traces-to=/tmp/codetrace --allow-natives-syntax ./index.js" }, "dependencies": { - "@data-client/core": "workspace:^", - "@data-client/endpoint": "workspace:^", - "@data-client/normalizr": "workspace:^", + "@data-client/core": "workspace:*", + "@data-client/endpoint": "workspace:*", + "@data-client/normalizr": "workspace:*", "benchmark": "2.1.4", "normalizr": "3.6.2", "react": "19.1.1" diff --git a/examples/coin-app/package.json b/examples/coin-app/package.json index 899889e9d5b5..021de3a5a0b4 100644 --- a/examples/coin-app/package.json +++ b/examples/coin-app/package.json @@ -45,9 +45,9 @@ "@anansi/core": "^0.20.0", "@anansi/router": "^0.10.0", "@babel/runtime-corejs3": "^7.26.7", - "@data-client/img": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", - "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", - "@data-client/rest": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/img": "workspace:*", + "@data-client/react": "workspace:*", + "@data-client/rest": "workspace:*", "core-js": "^3.40.0", "d3": "^7.9.0", "history": "*", diff --git a/examples/github-app/package.json b/examples/github-app/package.json index 5dd95a491f79..f40933db90e6 100644 --- a/examples/github-app/package.json +++ b/examples/github-app/package.json @@ -51,10 +51,10 @@ "@anansi/router": "0.10.17", "@ant-design/icons": "^5.0.0", "@babel/runtime-corejs3": "^7.26.7", - "@data-client/graphql": "^0.14.0", - "@data-client/img": "^0.14.15", - "@data-client/react": "^0.14.0", - "@data-client/rest": "^0.14.0", + "@data-client/graphql": "workspace:*", + "@data-client/img": "workspace:*", + "@data-client/react": "workspace:*", + "@data-client/rest": "workspace:*", "@js-temporal/polyfill": "^0.5.0", "antd": "5.27.5", "core-js": "^3.40.0", diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index d901c86a5c40..ac03041cfaeb 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -16,8 +16,8 @@ "@anansi/babel-preset": "^6.1.6", "@babel/core": "^7.24.7", "@babel/runtime-corejs3": "^7.26.10", - "@data-client/react": "^0.14.0", - "@data-client/rest": "^0.14.0", + "@data-client/react": "workspace:*", + "@data-client/rest": "workspace:*", "@number-flow/react": "^0.5.0", "@types/node": "22.18.11", "@types/react": "19.2.2", diff --git a/examples/normalizr-github/package.json b/examples/normalizr-github/package.json index 83428832874e..bf71eae38280 100644 --- a/examples/normalizr-github/package.json +++ b/examples/normalizr-github/package.json @@ -10,8 +10,8 @@ "start": "babel-node ./ --root-mode upward --extensions '.ts,.tsx,.js'" }, "dependencies": { - "@data-client/endpoint": "workspace:^", - "@data-client/normalizr": "workspace:^" + "@data-client/endpoint": "workspace:*", + "@data-client/normalizr": "workspace:*" }, "devDependencies": { "@babel/core": "7.28.4", diff --git a/examples/normalizr-relationships/package.json b/examples/normalizr-relationships/package.json index e441baf09c34..08a2fa453bdc 100644 --- a/examples/normalizr-relationships/package.json +++ b/examples/normalizr-relationships/package.json @@ -15,8 +15,8 @@ "@types/babel__core": "^7" }, "dependencies": { - "@data-client/endpoint": "workspace:^", - "@data-client/normalizr": "workspace:^", + "@data-client/endpoint": "workspace:*", + "@data-client/normalizr": "workspace:*", "mockdate": "^3.0.5" } } diff --git a/examples/test-bundlesize/package.json b/examples/test-bundlesize/package.json index acad07d205f6..d6eee8f488bf 100644 --- a/examples/test-bundlesize/package.json +++ b/examples/test-bundlesize/package.json @@ -38,9 +38,9 @@ }, "dependencies": { "@babel/runtime-corejs3": "^7.26.7", - "@data-client/img": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", - "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", - "@data-client/rest": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/img": "workspace:*", + "@data-client/react": "workspace:*", + "@data-client/rest": "workspace:*", "core-js": "^3.40.0", "react": "^19.0.0", "react-dom": "^19.0.0" diff --git a/examples/todo-app/package.json b/examples/todo-app/package.json index 0742ba2b56fb..732ec9ab0c25 100644 --- a/examples/todo-app/package.json +++ b/examples/todo-app/package.json @@ -46,9 +46,9 @@ }, "dependencies": { "@babel/runtime-corejs3": "^7.26.7", - "@data-client/endpoint": "^0.14.0", - "@data-client/react": "^0.14.0", - "@data-client/rest": "^0.14.0", + "@data-client/endpoint": "workspace:*", + "@data-client/react": "workspace:*", + "@data-client/rest": "workspace:*", "core-js": "^3.40.0", "react": "19.1.1", "react-dom": "19.1.1", diff --git a/packages/core/package.json b/packages/core/package.json index 991738a29239..b381607c1968 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -125,7 +125,7 @@ }, "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/normalizr": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/normalizr": "workspace:^", "flux-standard-action": "^2.1.1" }, "devDependencies": { diff --git a/packages/graphql/package.json b/packages/graphql/package.json index 19790e3c5af3..55eb5b6fcfcd 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -107,7 +107,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/endpoint": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/endpoint": "workspace:^" }, "devDependencies": { "@anansi/browserslist-config": "^1.4.2", diff --git a/packages/img/package.json b/packages/img/package.json index 4f655d095bd8..6565f474883e 100644 --- a/packages/img/package.json +++ b/packages/img/package.json @@ -75,7 +75,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/endpoint": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/endpoint": "workspace:^" }, "peerDependencies": { "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", diff --git a/packages/react/package.json b/packages/react/package.json index 45dfec06c849..b6b8895863cf 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -170,8 +170,8 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/core": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", - "@data-client/use-enhanced-reducer": "^0.1.14" + "@data-client/core": "workspace:^", + "@data-client/use-enhanced-reducer": "workspace:^" }, "peerDependencies": { "@react-navigation/native": "^6.0.0 || ^7.0.0", diff --git a/packages/rest/package.json b/packages/rest/package.json index 598f2b7760b8..4a839533c850 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -135,7 +135,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/endpoint": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/endpoint": "workspace:^", "path-to-regexp": "^6.3.0" }, "devDependencies": { diff --git a/packages/vue/package.json b/packages/vue/package.json index acc6b680a3f8..454ea224e2d5 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -98,7 +98,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.20.0", - "@data-client/core": "^0.15.0-beta-0" + "@data-client/core": "workspace:^" }, "peerDependencies": { "@types/vue": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index e885c4a9fc40..b22c6c7b516d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3186,17 +3186,6 @@ __metadata: languageName: node linkType: hard -"@data-client/core@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/core@npm:^0.15.0-beta-0": - version: 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b - resolution: "@data-client/core@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" - dependencies: - "@babel/runtime": "npm:^7.20.0" - "@data-client/normalizr": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" - flux-standard-action: "npm:^2.1.1" - checksum: 10c0/b0a9083b61e3404e199757233404eca51c5149d167490a9159af0ce81b15a58dd045d3777cbf0f0df43c2764d8897d5c71133b8be1ae434f81588b83863eeb65 - languageName: node - linkType: hard - "@data-client/core@workspace:*, @data-client/core@workspace:^, @data-client/core@workspace:packages/core": version: 0.0.0-use.local resolution: "@data-client/core@workspace:packages/core" @@ -3204,7 +3193,7 @@ __metadata: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" "@data-client/endpoint": "workspace:*" - "@data-client/normalizr": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/normalizr": "workspace:^" "@types/jest": "npm:30.0.0" "@types/node": "npm:^22.0.0" flux-standard-action: "npm:^2.1.1" @@ -3212,7 +3201,7 @@ __metadata: languageName: unknown linkType: soft -"@data-client/endpoint@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/endpoint@workspace:*, @data-client/endpoint@workspace:^, @data-client/endpoint@workspace:packages/endpoint": +"@data-client/endpoint@workspace:*, @data-client/endpoint@workspace:^, @data-client/endpoint@workspace:packages/endpoint": version: 0.0.0-use.local resolution: "@data-client/endpoint@workspace:packages/endpoint" dependencies: @@ -3235,7 +3224,7 @@ __metadata: dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/endpoint": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/endpoint": "workspace:^" "@types/jest": "npm:30.0.0" "@types/node": "npm:^22.0.0" nock: "npm:13.3.1" @@ -3243,13 +3232,13 @@ __metadata: languageName: unknown linkType: soft -"@data-client/img@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/img@workspace:packages/img": +"@data-client/img@workspace:*, @data-client/img@workspace:packages/img": version: 0.0.0-use.local resolution: "@data-client/img@workspace:packages/img" dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/endpoint": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/endpoint": "workspace:^" "@data-client/react": "workspace:*" "@testing-library/react": "npm:^16.1.0" "@types/jest": "npm:30.0.0" @@ -3267,15 +3256,6 @@ __metadata: languageName: unknown linkType: soft -"@data-client/normalizr@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b": - version: 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b - resolution: "@data-client/normalizr@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" - dependencies: - "@babel/runtime": "npm:^7.20.0" - checksum: 10c0/e9cbd31b3376e9ed5d08b241af6a09351bc6878156ab0c52c23648b1716b7578aff2d6affef1df2ad1552d9c7912dd72053325c7b0db648ca63eec26a1fcb4bc - languageName: node - linkType: hard - "@data-client/normalizr@workspace:*, @data-client/normalizr@workspace:^, @data-client/normalizr@workspace:packages/normalizr": version: 0.0.0-use.local resolution: "@data-client/normalizr@workspace:packages/normalizr" @@ -3291,16 +3271,16 @@ __metadata: languageName: unknown linkType: soft -"@data-client/react@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/react@workspace:*, @data-client/react@workspace:packages/react": +"@data-client/react@workspace:*, @data-client/react@workspace:packages/react": version: 0.0.0-use.local resolution: "@data-client/react@workspace:packages/react" dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/core": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/core": "workspace:^" "@data-client/rest": "workspace:*" "@data-client/test": "workspace:*" - "@data-client/use-enhanced-reducer": "npm:^0.1.14" + "@data-client/use-enhanced-reducer": "workspace:^" "@jest/globals": "npm:^30.0.0" "@js-temporal/polyfill": "npm:^0.5.0" "@react-navigation/native": "npm:^7.0.0" @@ -3335,13 +3315,13 @@ __metadata: languageName: unknown linkType: soft -"@data-client/rest@npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b, @data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest": +"@data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest": version: 0.0.0-use.local resolution: "@data-client/rest@workspace:packages/rest" dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/endpoint": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/endpoint": "workspace:^" "@data-client/react": "workspace:*" "@data-client/test": "workspace:*" "@types/jest": "npm:30.0.0" @@ -3401,7 +3381,7 @@ __metadata: languageName: unknown linkType: soft -"@data-client/use-enhanced-reducer@npm:^0.1.14, @data-client/use-enhanced-reducer@workspace:packages/use-enhanced-reducer": +"@data-client/use-enhanced-reducer@workspace:^, @data-client/use-enhanced-reducer@workspace:packages/use-enhanced-reducer": version: 0.0.0-use.local resolution: "@data-client/use-enhanced-reducer@workspace:packages/use-enhanced-reducer" dependencies: @@ -3427,7 +3407,7 @@ __metadata: dependencies: "@anansi/browserslist-config": "npm:^1.4.2" "@babel/runtime": "npm:^7.20.0" - "@data-client/core": "npm:^0.15.0-beta-0" + "@data-client/core": "workspace:^" "@data-client/rest": "workspace:*" "@data-client/test": "workspace:*" "@jest/globals": "npm:^30.0.0" @@ -11903,9 +11883,9 @@ __metadata: "@anansi/webpack-config": "npm:^21.0.0" "@babel/core": "npm:^7.22.15" "@babel/runtime-corejs3": "npm:^7.26.7" - "@data-client/img": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" - "@data-client/react": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" - "@data-client/rest": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/img": "workspace:*" + "@data-client/react": "workspace:*" + "@data-client/rest": "workspace:*" "@linaria/babel-preset": "npm:*" "@linaria/core": "npm:*" "@linaria/react": "npm:*" @@ -15217,9 +15197,9 @@ __metadata: "@anansi/webpack-config": "npm:21.0.12" "@babel/core": "npm:7.28.4" "@babel/node": "npm:7.28.0" - "@data-client/core": "workspace:^" - "@data-client/endpoint": "workspace:^" - "@data-client/normalizr": "workspace:^" + "@data-client/core": "workspace:*" + "@data-client/endpoint": "workspace:*" + "@data-client/normalizr": "workspace:*" "@types/babel__core": "npm:^7" "@types/benchmark": "npm:2.1.5" "@types/react": "npm:19.2.2" @@ -22964,8 +22944,8 @@ __metadata: dependencies: "@babel/core": "npm:7.28.4" "@babel/node": "npm:7.28.0" - "@data-client/endpoint": "workspace:^" - "@data-client/normalizr": "workspace:^" + "@data-client/endpoint": "workspace:*" + "@data-client/normalizr": "workspace:*" "@types/babel__core": "npm:^7" languageName: unknown linkType: soft @@ -22992,8 +22972,8 @@ __metadata: dependencies: "@babel/core": "npm:7.28.4" "@babel/node": "npm:7.28.0" - "@data-client/endpoint": "workspace:^" - "@data-client/normalizr": "workspace:^" + "@data-client/endpoint": "workspace:*" + "@data-client/normalizr": "workspace:*" "@types/babel__core": "npm:^7" mockdate: "npm:^3.0.5" languageName: unknown @@ -30033,9 +30013,9 @@ __metadata: "@anansi/webpack-config": "npm:^21.0.0" "@babel/core": "npm:^7.22.15" "@babel/runtime-corejs3": "npm:^7.26.7" - "@data-client/img": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" - "@data-client/react": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" - "@data-client/rest": "npm:0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b" + "@data-client/img": "workspace:*" + "@data-client/react": "workspace:*" + "@data-client/rest": "workspace:*" "@types/react": "npm:*" "@types/react-dom": "npm:*" core-js: "npm:^3.40.0" From db8bb7d067e1b0084cf423f9498e1368647471a3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 21 Oct 2025 18:17:49 -0700 Subject: [PATCH 03/13] internal: Publish beta version (#3573) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/cuddly-masks-yawn.md | 5 ----- .changeset/large-walls-accept.md | 7 ------- examples/benchmark/CHANGELOG.md | 9 +++++++++ examples/benchmark/package.json | 2 +- examples/coin-app/CHANGELOG.md | 8 ++++++++ examples/coin-app/package.json | 2 +- examples/normalizr-github/CHANGELOG.md | 8 ++++++++ examples/normalizr-github/package.json | 2 +- examples/normalizr-redux/CHANGELOG.md | 8 ++++++++ examples/normalizr-redux/package.json | 2 +- examples/normalizr-relationships/CHANGELOG.md | 8 ++++++++ examples/normalizr-relationships/package.json | 2 +- examples/test-bundlesize/CHANGELOG.md | 8 ++++++++ examples/test-bundlesize/package.json | 2 +- packages/endpoint/CHANGELOG.md | 6 ++++++ packages/endpoint/package.json | 2 +- packages/graphql/CHANGELOG.md | 9 +++++++++ packages/graphql/package.json | 2 +- packages/rest/CHANGELOG.md | 9 +++++++++ packages/rest/package.json | 2 +- packages/vue/CHANGELOG.md | 12 ++++++++++++ packages/vue/package.json | 2 +- 22 files changed, 95 insertions(+), 22 deletions(-) delete mode 100644 .changeset/cuddly-masks-yawn.md delete mode 100644 .changeset/large-walls-accept.md create mode 100644 packages/vue/CHANGELOG.md diff --git a/.changeset/cuddly-masks-yawn.md b/.changeset/cuddly-masks-yawn.md deleted file mode 100644 index 38d8c4042a05..000000000000 --- a/.changeset/cuddly-masks-yawn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/vue': minor ---- - -@data-client/vue first release diff --git a/.changeset/large-walls-accept.md b/.changeset/large-walls-accept.md deleted file mode 100644 index 082bb6c042a2..000000000000 --- a/.changeset/large-walls-accept.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@data-client/endpoint': patch -'@data-client/graphql': patch -'@data-client/rest': patch ---- - -fix: Collection.remove with Unions \ No newline at end of file diff --git a/examples/benchmark/CHANGELOG.md b/examples/benchmark/CHANGELOG.md index 380272792400..98c17c00dc6b 100644 --- a/examples/benchmark/CHANGELOG.md +++ b/examples/benchmark/CHANGELOG.md @@ -1,5 +1,14 @@ # example-benchmark +## 0.4.75-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- Updated dependencies [[`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed)]: + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + - @data-client/core@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.4.75-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Patch Changes diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index 0312eef6e3f8..d9a5400ac385 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -1,6 +1,6 @@ { "name": "example-benchmark", - "version": "0.4.75-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.4.75-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "Benchmark for normalizr", "main": "index.js", "author": "Nathaniel Tucker", diff --git a/examples/coin-app/CHANGELOG.md b/examples/coin-app/CHANGELOG.md index eb6b6ded3a62..97ca3dbbb18f 100644 --- a/examples/coin-app/CHANGELOG.md +++ b/examples/coin-app/CHANGELOG.md @@ -1,5 +1,13 @@ # coinbase-lite +## 0.0.10-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- Updated dependencies [[`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed)]: + - @data-client/rest@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + - @data-client/react@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.0.10-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Patch Changes diff --git a/examples/coin-app/package.json b/examples/coin-app/package.json index 021de3a5a0b4..caab96016d38 100644 --- a/examples/coin-app/package.json +++ b/examples/coin-app/package.json @@ -1,6 +1,6 @@ { "name": "coinbase-lite", - "version": "0.0.10-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.0.10-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "packageManager": "yarn@4.10.3", "description": "Coin App", "scripts": { diff --git a/examples/normalizr-github/CHANGELOG.md b/examples/normalizr-github/CHANGELOG.md index 84cd607a07f0..409632edefa2 100644 --- a/examples/normalizr-github/CHANGELOG.md +++ b/examples/normalizr-github/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-github-example +## 0.1.51-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- Updated dependencies [[`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed)]: + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.51-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Patch Changes diff --git a/examples/normalizr-github/package.json b/examples/normalizr-github/package.json index bf71eae38280..a2ee1a2484a8 100644 --- a/examples/normalizr-github/package.json +++ b/examples/normalizr-github/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-github-example", - "version": "0.1.51-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.1.51-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "And example of using Normalizr with github", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/normalizr-redux/CHANGELOG.md b/examples/normalizr-redux/CHANGELOG.md index 032bed5bbaf5..95e0cbd36f48 100644 --- a/examples/normalizr-redux/CHANGELOG.md +++ b/examples/normalizr-redux/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-redux-example +## 0.1.49-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- Updated dependencies [[`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed)]: + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.49-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Patch Changes diff --git a/examples/normalizr-redux/package.json b/examples/normalizr-redux/package.json index 40db06bad7e0..a9295c6c4e55 100644 --- a/examples/normalizr-redux/package.json +++ b/examples/normalizr-redux/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-redux-example", - "version": "0.1.49-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.1.49-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "And example of using Normalizr with Redux", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/normalizr-relationships/CHANGELOG.md b/examples/normalizr-relationships/CHANGELOG.md index 6d585dc30053..d373e3e65e5a 100644 --- a/examples/normalizr-relationships/CHANGELOG.md +++ b/examples/normalizr-relationships/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-relationships +## 0.1.51-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- Updated dependencies [[`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed)]: + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.51-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Patch Changes diff --git a/examples/normalizr-relationships/package.json b/examples/normalizr-relationships/package.json index 08a2fa453bdc..15f3e767bba3 100644 --- a/examples/normalizr-relationships/package.json +++ b/examples/normalizr-relationships/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-relationships", - "version": "0.1.51-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.1.51-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "And example of using Normalizr with relationships", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/test-bundlesize/CHANGELOG.md b/examples/test-bundlesize/CHANGELOG.md index ebf09c153989..28ca8cf95da3 100644 --- a/examples/test-bundlesize/CHANGELOG.md +++ b/examples/test-bundlesize/CHANGELOG.md @@ -1,5 +1,13 @@ # test-bundlesize +## 0.1.1-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- Updated dependencies [[`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed)]: + - @data-client/rest@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + - @data-client/react@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.1-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Patch Changes diff --git a/examples/test-bundlesize/package.json b/examples/test-bundlesize/package.json index d6eee8f488bf..999c734c69f8 100644 --- a/examples/test-bundlesize/package.json +++ b/examples/test-bundlesize/package.json @@ -1,6 +1,6 @@ { "name": "test-bundlesize", - "version": "0.1.1-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.1.1-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "packageManager": "yarn@4.10.3", "description": "Testing Bundled Size", "scripts": { diff --git a/packages/endpoint/CHANGELOG.md b/packages/endpoint/CHANGELOG.md index 66e55bb7b003..3f13da8fe545 100644 --- a/packages/endpoint/CHANGELOG.md +++ b/packages/endpoint/CHANGELOG.md @@ -1,5 +1,11 @@ # @data-client/endpoint +## 0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- [`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed) Thanks [@ntucker](https://github.com/ntucker)! - fix: Collection.remove with Unions + ## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Minor Changes diff --git a/packages/endpoint/package.json b/packages/endpoint/package.json index bc086bd5c37f..8537f9d9a81f 100644 --- a/packages/endpoint/package.json +++ b/packages/endpoint/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/endpoint", - "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "Declarative Network Interface Definitions", "homepage": "https://dataclient.io/docs/guides/custom-protocol", "keywords": [ diff --git a/packages/graphql/CHANGELOG.md b/packages/graphql/CHANGELOG.md index e1c15044ab4e..ad6a54570195 100644 --- a/packages/graphql/CHANGELOG.md +++ b/packages/graphql/CHANGELOG.md @@ -1,5 +1,14 @@ # @data-client/graphql +## 0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- [`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed) Thanks [@ntucker](https://github.com/ntucker)! - fix: Collection.remove with Unions + +- Updated dependencies [[`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed)]: + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + ## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Minor Changes diff --git a/packages/graphql/package.json b/packages/graphql/package.json index 55eb5b6fcfcd..c7d0ae37830b 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/graphql", - "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "Quickly define typed GraphQL resources and endpoints", "homepage": "https://dataclient.io/docs/graphql", "repository": { diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index 710d116139f4..6cd31ac2ac0b 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,5 +1,14 @@ # @data-client/rest +## 0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Patch Changes + +- [`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed) Thanks [@ntucker](https://github.com/ntucker)! - fix: Collection.remove with Unions + +- Updated dependencies [[`e2fff91`](https://github.com/reactive/data-client/commit/e2fff911e21864620dba8d9470142af9130aafed)]: + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + ## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Minor Changes diff --git a/packages/rest/package.json b/packages/rest/package.json index 4a839533c850..f2d8c271ac7d 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/rest", - "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "Quickly define typed REST resources and endpoints", "homepage": "https://dataclient.io/rest", "repository": { diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md new file mode 100644 index 000000000000..8ed63582944e --- /dev/null +++ b/packages/vue/CHANGELOG.md @@ -0,0 +1,12 @@ +# @data-client/vue + +## 0.2.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + +### Minor Changes + +- [`354b44c`](https://github.com/reactive/data-client/commit/354b44ca60a95cca64619d19c3314090d8edb29e) Thanks [@ntucker](https://github.com/ntucker)! - @data-client/vue first release + +### Patch Changes + +- Updated dependencies []: + - @data-client/core@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b diff --git a/packages/vue/package.json b/packages/vue/package.json index 454ea224e2d5..438bbcc4ff1f 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/vue", - "version": "0.1.0", + "version": "0.2.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "homepage": "https://dataclient.io", "repository": { From a457d1596871fb28f1a91f2531cc259db4d55a9c Mon Sep 17 00:00:00 2001 From: Nathaniel Tucker Date: Wed, 22 Oct 2025 10:24:57 -0400 Subject: [PATCH 04/13] internal(fix): Publish should replace workspace:^ references --- .changeset/chilly-berries-turn.md | 10 ++++++++++ .github/workflows/beta-release.yml | 3 ++- .github/workflows/release.yml | 1 + package.json | 4 ++-- scripts/rollup-plugins/package.json | 4 +--- yarn.lock | 1 - 6 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 .changeset/chilly-berries-turn.md diff --git a/.changeset/chilly-berries-turn.md b/.changeset/chilly-berries-turn.md new file mode 100644 index 000000000000..8d12aaf4f8d5 --- /dev/null +++ b/.changeset/chilly-berries-turn.md @@ -0,0 +1,10 @@ +--- +'@data-client/core': patch +'@data-client/graphql': patch +'@data-client/img': patch +'@data-client/react': patch +'@data-client/rest': patch +'@data-client/vue': patch +--- + +Republish to fix dependency refernces diff --git a/.github/workflows/beta-release.yml b/.github/workflows/beta-release.yml index a9448649bf8c..0b1dbba6e06d 100644 --- a/.github/workflows/beta-release.yml +++ b/.github/workflows/beta-release.yml @@ -40,4 +40,5 @@ jobs: title: "Version Packages (Beta)" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bc0e9d25d099..8963c61bde08 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,3 +33,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/package.json b/package.json index 233ded02b025..30a1befd308b 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,9 @@ ], "scripts": { "changeset:version": "run changeset version && YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn install", - "changeset:publish": "run build && run changeset publish", + "changeset:publish": "run build && yarn workspaces foreach -A --no-private --topological npm publish --tolerate-republish --access public", "changeset:version:beta": "run changeset version --snapshot beta && YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn install", - "changeset:publish:beta": "run build && run changeset publish --tag beta", + "changeset:publish:beta": "run build && yarn workspaces foreach -A --no-private --topological npm publish --tolerate-republish --access public --tag beta", "lint": "eslint", "format": "eslint --fix \"packages/*/src/**/*.{js,ts,tsx,cts}\"", "clean:types": "rimraf packages/*/*.tsbuildinfo", diff --git a/scripts/rollup-plugins/package.json b/scripts/rollup-plugins/package.json index 4eef9eccc32e..26d59447508a 100644 --- a/scripts/rollup-plugins/package.json +++ b/scripts/rollup-plugins/package.json @@ -1,6 +1,7 @@ { "name": "rollup-plugins", "version": "1.0.0", + "private": true, "main": "index.js", "type": "module", "scripts": { @@ -19,8 +20,5 @@ "rollup-plugin-banner2": "^1.3.1", "rollup-plugin-dts": "6.1.1", "rollup-plugin-filesize": "^10.0.0" - }, - "devDependencies": { - "rollup-plugins": "workspace:*" } } diff --git a/yarn.lock b/yarn.lock index b22c6c7b516d..f94bf63dea3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -27886,7 +27886,6 @@ __metadata: rollup-plugin-banner2: "npm:^1.3.1" rollup-plugin-dts: "npm:6.1.1" rollup-plugin-filesize: "npm:^10.0.0" - rollup-plugins: "workspace:*" languageName: unknown linkType: soft From 17f728c1e34f6829aa560dc642f7d87c5c6c46c2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:33:39 -0700 Subject: [PATCH 05/13] internal: Publish beta version (#3578) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/chilly-berries-turn.md | 10 ---------- examples/benchmark/CHANGELOG.md | 8 ++++++++ examples/benchmark/package.json | 2 +- examples/coin-app/CHANGELOG.md | 9 +++++++++ examples/coin-app/package.json | 2 +- examples/test-bundlesize/CHANGELOG.md | 9 +++++++++ examples/test-bundlesize/package.json | 2 +- packages/core/CHANGELOG.md | 6 ++++++ packages/core/package.json | 2 +- packages/graphql/CHANGELOG.md | 9 +++++++++ packages/graphql/package.json | 2 +- packages/img/CHANGELOG.md | 10 ++++++++++ packages/img/package.json | 4 ++-- packages/react/CHANGELOG.md | 9 +++++++++ packages/react/package.json | 2 +- packages/rest/CHANGELOG.md | 9 +++++++++ packages/rest/package.json | 2 +- packages/test/CHANGELOG.md | 7 +++++++ packages/test/package.json | 4 ++-- packages/vue/CHANGELOG.md | 9 +++++++++ packages/vue/package.json | 2 +- yarn.lock | 4 ++-- 22 files changed, 99 insertions(+), 24 deletions(-) delete mode 100644 .changeset/chilly-berries-turn.md diff --git a/.changeset/chilly-berries-turn.md b/.changeset/chilly-berries-turn.md deleted file mode 100644 index 8d12aaf4f8d5..000000000000 --- a/.changeset/chilly-berries-turn.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -'@data-client/core': patch -'@data-client/graphql': patch -'@data-client/img': patch -'@data-client/react': patch -'@data-client/rest': patch -'@data-client/vue': patch ---- - -Republish to fix dependency refernces diff --git a/examples/benchmark/CHANGELOG.md b/examples/benchmark/CHANGELOG.md index 98c17c00dc6b..a28a1d58535e 100644 --- a/examples/benchmark/CHANGELOG.md +++ b/examples/benchmark/CHANGELOG.md @@ -1,5 +1,13 @@ # example-benchmark +## 0.4.75-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- Updated dependencies [[`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c)]: + - @data-client/core@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + ## 0.4.75-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index d9a5400ac385..be4c29b8c699 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -1,6 +1,6 @@ { "name": "example-benchmark", - "version": "0.4.75-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.4.75-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Benchmark for normalizr", "main": "index.js", "author": "Nathaniel Tucker", diff --git a/examples/coin-app/CHANGELOG.md b/examples/coin-app/CHANGELOG.md index 97ca3dbbb18f..543619ad23ee 100644 --- a/examples/coin-app/CHANGELOG.md +++ b/examples/coin-app/CHANGELOG.md @@ -1,5 +1,14 @@ # coinbase-lite +## 0.0.10-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- Updated dependencies [[`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c)]: + - @data-client/img@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + - @data-client/react@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + - @data-client/rest@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + ## 0.0.10-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/examples/coin-app/package.json b/examples/coin-app/package.json index caab96016d38..e0bb829a63a6 100644 --- a/examples/coin-app/package.json +++ b/examples/coin-app/package.json @@ -1,6 +1,6 @@ { "name": "coinbase-lite", - "version": "0.0.10-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.0.10-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "packageManager": "yarn@4.10.3", "description": "Coin App", "scripts": { diff --git a/examples/test-bundlesize/CHANGELOG.md b/examples/test-bundlesize/CHANGELOG.md index 28ca8cf95da3..11448e7e3f3b 100644 --- a/examples/test-bundlesize/CHANGELOG.md +++ b/examples/test-bundlesize/CHANGELOG.md @@ -1,5 +1,14 @@ # test-bundlesize +## 0.1.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- Updated dependencies [[`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c)]: + - @data-client/img@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + - @data-client/react@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + - @data-client/rest@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + ## 0.1.1-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/examples/test-bundlesize/package.json b/examples/test-bundlesize/package.json index 999c734c69f8..97615a881130 100644 --- a/examples/test-bundlesize/package.json +++ b/examples/test-bundlesize/package.json @@ -1,6 +1,6 @@ { "name": "test-bundlesize", - "version": "0.1.1-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.1.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "packageManager": "yarn@4.10.3", "description": "Testing Bundled Size", "scripts": { diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index e7b952c34be8..4cf6b737e9ea 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,11 @@ # @data-client/core +## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- [`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c) Thanks [@ntucker](https://github.com/ntucker)! - Republish to fix dependency refernces + ## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Minor Changes diff --git a/packages/core/package.json b/packages/core/package.json index b381607c1968..bf0dbd461870 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/core", - "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "sideEffects": false, "main": "dist/index.js", diff --git a/packages/graphql/CHANGELOG.md b/packages/graphql/CHANGELOG.md index ad6a54570195..69a4fa1e3f2a 100644 --- a/packages/graphql/CHANGELOG.md +++ b/packages/graphql/CHANGELOG.md @@ -1,5 +1,14 @@ # @data-client/graphql +## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- [`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c) Thanks [@ntucker](https://github.com/ntucker)! - Republish to fix dependency refernces + +- Updated dependencies []: + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + ## 0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/packages/graphql/package.json b/packages/graphql/package.json index c7d0ae37830b..4daa39cffe13 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/graphql", - "version": "0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Quickly define typed GraphQL resources and endpoints", "homepage": "https://dataclient.io/docs/graphql", "repository": { diff --git a/packages/img/CHANGELOG.md b/packages/img/CHANGELOG.md index 74b26fbc802e..231910699a9e 100644 --- a/packages/img/CHANGELOG.md +++ b/packages/img/CHANGELOG.md @@ -1,5 +1,15 @@ # @data-client/img +## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- [`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c) Thanks [@ntucker](https://github.com/ntucker)! - Republish to fix dependency refernces + +- Updated dependencies [[`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c)]: + - @data-client/react@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + ## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Minor Changes diff --git a/packages/img/package.json b/packages/img/package.json index 6565f474883e..5ce59bfd76a0 100644 --- a/packages/img/package.json +++ b/packages/img/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/img", - "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Suspenseful images", "homepage": "https://dataclient.io/docs/guides/img-media#just-images", "repository": { @@ -78,7 +78,7 @@ "@data-client/endpoint": "workspace:^" }, "peerDependencies": { - "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/react": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "@types/react": "^16.14.0 || ^17.0.0 || ^18.0.0-0 || ^19.0.0", "react": "^16.14.0 || ^17.0.0 || ^18.0.0-0 || ^19.0.0" }, diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 888589e0b3f9..a87927cb4293 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,14 @@ # @data-client/react +## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- [`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c) Thanks [@ntucker](https://github.com/ntucker)! - Republish to fix dependency refernces + +- Updated dependencies [[`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c)]: + - @data-client/core@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + ## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Minor Changes diff --git a/packages/react/package.json b/packages/react/package.json index b6b8895863cf..7f3d41b98ca2 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/react", - "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "homepage": "https://dataclient.io", "repository": { diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index 6cd31ac2ac0b..3caeb3cd33b6 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,5 +1,14 @@ # @data-client/rest +## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- [`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c) Thanks [@ntucker](https://github.com/ntucker)! - Republish to fix dependency refernces + +- Updated dependencies []: + - @data-client/endpoint@0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a + ## 0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/packages/rest/package.json b/packages/rest/package.json index f2d8c271ac7d..7ca993563261 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/rest", - "version": "0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Quickly define typed REST resources and endpoints", "homepage": "https://dataclient.io/rest", "repository": { diff --git a/packages/test/CHANGELOG.md b/packages/test/CHANGELOG.md index efb1d8994401..b278cd3f9dbd 100644 --- a/packages/test/CHANGELOG.md +++ b/packages/test/CHANGELOG.md @@ -1,5 +1,12 @@ # @data-client/test +## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- Updated dependencies [[`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c)]: + - @data-client/react@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + ## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b ### Minor Changes diff --git a/packages/test/package.json b/packages/test/package.json index c14a804b6c22..4028b64de025 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/test", - "version": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Testing utilities for Data Client", "homepage": "https://dataclient.io/docs/guides/storybook", "repository": { @@ -121,7 +121,7 @@ "@testing-library/react-native": "^13.0.0" }, "peerDependencies": { - "@data-client/react": "0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b", + "@data-client/react": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "@testing-library/react-hooks": "^8.0.0", "@types/react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-0 || ^19.0.0", "@types/react-dom": "*", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 8ed63582944e..8ba34068a401 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,5 +1,14 @@ # @data-client/vue +## 0.2.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + +### Patch Changes + +- [`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c) Thanks [@ntucker](https://github.com/ntucker)! - Republish to fix dependency refernces + +- Updated dependencies [[`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c)]: + - @data-client/core@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + ## 0.2.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Minor Changes diff --git a/packages/vue/package.json b/packages/vue/package.json index 438bbcc4ff1f..0a69db827d94 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/vue", - "version": "0.2.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.2.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "homepage": "https://dataclient.io", "repository": { diff --git a/yarn.lock b/yarn.lock index f94bf63dea3a..83be706da043 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3247,7 +3247,7 @@ __metadata: react: "npm:^19.0.0" rollup-plugins: "workspace:*" peerDependencies: - "@data-client/react": 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + "@data-client/react": 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c "@types/react": ^16.14.0 || ^17.0.0 || ^18.0.0-0 || ^19.0.0 react: ^16.14.0 || ^17.0.0 || ^18.0.0-0 || ^19.0.0 peerDependenciesMeta: @@ -3354,7 +3354,7 @@ __metadata: react-test-renderer: "npm:*" rollup-plugins: "workspace:*" peerDependencies: - "@data-client/react": 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + "@data-client/react": 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c "@testing-library/react-hooks": ^8.0.0 "@types/react": ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-0 || ^19.0.0 "@types/react-dom": "*" From f93c8168718cffd6cad349e8f993b67110c67b42 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 25 Oct 2025 22:49:03 -0400 Subject: [PATCH 06/13] internal: Publish beta version (#3586) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/dirty-regions-dance.md | 5 ----- .changeset/plenty-sloths-battle.md | 6 ------ .changeset/proud-rooms-pick.md | 5 ----- .changeset/small-wasps-win.md | 5 ----- packages/vue/CHANGELOG.md | 13 +++++++++++++ packages/vue/package.json | 2 +- 6 files changed, 14 insertions(+), 22 deletions(-) delete mode 100644 .changeset/dirty-regions-dance.md delete mode 100644 .changeset/plenty-sloths-battle.md delete mode 100644 .changeset/proud-rooms-pick.md delete mode 100644 .changeset/small-wasps-win.md diff --git a/.changeset/dirty-regions-dance.md b/.changeset/dirty-regions-dance.md deleted file mode 100644 index 05b10bfb7902..000000000000 --- a/.changeset/dirty-regions-dance.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/vue': patch ---- - -Only run manager start/stop for app lifecycle - not every component mount diff --git a/.changeset/plenty-sloths-battle.md b/.changeset/plenty-sloths-battle.md deleted file mode 100644 index b3518ce988ae..000000000000 --- a/.changeset/plenty-sloths-battle.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@data-client/vue': patch ---- - -renderDataClient -> mountDataClient -renderDataComposable -> renderDataClient \ No newline at end of file diff --git a/.changeset/proud-rooms-pick.md b/.changeset/proud-rooms-pick.md deleted file mode 100644 index 2e4361dfe8c4..000000000000 --- a/.changeset/proud-rooms-pick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/vue': patch ---- - -Make composables reactive to computed props diff --git a/.changeset/small-wasps-win.md b/.changeset/small-wasps-win.md deleted file mode 100644 index 9e4c40cbb55c..000000000000 --- a/.changeset/small-wasps-win.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/vue': patch ---- - -Add useCache() diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 8ba34068a401..1df2cf5f0f88 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,5 +1,18 @@ # @data-client/vue +## 0.2.0-beta-20251026024409-a1c466cfd7aac770879b584acaac40fa61d01b61 + +### Patch Changes + +- [#3584](https://github.com/reactive/data-client/pull/3584) [`6809480`](https://github.com/reactive/data-client/commit/68094805498056ff3353507478908b87bb03209a) Thanks [@ntucker](https://github.com/ntucker)! - Only run manager start/stop for app lifecycle - not every component mount + +- [#3585](https://github.com/reactive/data-client/pull/3585) [`7408964`](https://github.com/reactive/data-client/commit/7408964419152da48cfb4ac13221aa1009796bea) Thanks [@ntucker](https://github.com/ntucker)! - renderDataClient -> mountDataClient + renderDataComposable -> renderDataClient + +- [#3585](https://github.com/reactive/data-client/pull/3585) [`7408964`](https://github.com/reactive/data-client/commit/7408964419152da48cfb4ac13221aa1009796bea) Thanks [@ntucker](https://github.com/ntucker)! - Make composables reactive to computed props + +- [#3585](https://github.com/reactive/data-client/pull/3585) [`7408964`](https://github.com/reactive/data-client/commit/7408964419152da48cfb4ac13221aa1009796bea) Thanks [@ntucker](https://github.com/ntucker)! - Add useCache() + ## 0.2.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c ### Patch Changes diff --git a/packages/vue/package.json b/packages/vue/package.json index 0a69db827d94..3393c96ad93e 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/vue", - "version": "0.2.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.2.0-beta-20251026024409-a1c466cfd7aac770879b584acaac40fa61d01b61", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "homepage": "https://dataclient.io", "repository": { From 9e280bd4814219a59776e7a7b1b9839799ab403b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 26 Oct 2025 19:38:28 -0400 Subject: [PATCH 07/13] internal: Publish beta version (#3593) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/chilly-towns-run.md | 27 ----------- .changeset/clever-geckos-smash.md | 5 --- .changeset/giant-cycles-follow.md | 7 --- .changeset/icy-hairs-go.md | 28 ------------ .changeset/kind-garlics-poke.md | 5 --- .changeset/tricky-olives-wash.md | 12 ----- packages/vue/CHANGELOG.md | 74 +++++++++++++++++++++++++++++++ packages/vue/package.json | 2 +- 8 files changed, 75 insertions(+), 85 deletions(-) delete mode 100644 .changeset/chilly-towns-run.md delete mode 100644 .changeset/clever-geckos-smash.md delete mode 100644 .changeset/giant-cycles-follow.md delete mode 100644 .changeset/icy-hairs-go.md delete mode 100644 .changeset/kind-garlics-poke.md delete mode 100644 .changeset/tricky-olives-wash.md diff --git a/.changeset/chilly-towns-run.md b/.changeset/chilly-towns-run.md deleted file mode 100644 index e224ba654164..000000000000 --- a/.changeset/chilly-towns-run.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -'@data-client/vue': minor ---- - -Never wrap renderDataCompose().result in ref. Just passthrough the return value directly. Always. - -### Before -```ts -const { result, cleanup } = await renderDataCompose(() => - useSuspense(CoolerArticleResource.get, { id: payload.id }), -); - -const articleRef = await result.value; -expect(articleRef.value.title).toBe(payload.title); -expect(articleRef.value.content).toBe(payload.content); -``` - -### After -```ts -const { result, cleanup } = await renderDataCompose(() => - useSuspense(CoolerArticleResource.get, { id: payload.id }), -); - -const articleRef = await result; -expect(articleRef.value.title).toBe(payload.title); -expect(articleRef.value.content).toBe(payload.content); -``` \ No newline at end of file diff --git a/.changeset/clever-geckos-smash.md b/.changeset/clever-geckos-smash.md deleted file mode 100644 index 21b07f92a9b0..000000000000 --- a/.changeset/clever-geckos-smash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/vue': patch ---- - -Fixed race condition in useSuspense() where args change while initial suspense is not complete diff --git a/.changeset/giant-cycles-follow.md b/.changeset/giant-cycles-follow.md deleted file mode 100644 index 09a601f79875..000000000000 --- a/.changeset/giant-cycles-follow.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@data-client/vue': patch ---- - -renderDataClient -> renderDataCompose - -This keeps naming conventions closer to the React version \ No newline at end of file diff --git a/.changeset/icy-hairs-go.md b/.changeset/icy-hairs-go.md deleted file mode 100644 index b9bdc532b71e..000000000000 --- a/.changeset/icy-hairs-go.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -'@data-client/vue': minor ---- - -`renderDataCompose()` awaits until the composable runs - -### Before - -```ts -const { result, cleanup } = renderDataCompose(() => - useCache(CoolerArticleResource.get, { id: payload.id }), -); - -// Wait for initial render -await waitForNextUpdate(); - -expect(result.current).toBeDefined(); -``` - -### After - -```ts -const { result, cleanup } = await renderDataCompose(() => - useCache(CoolerArticleResource.get, { id: payload.id }), -); - -expect(result.value).toBeDefined(); -``` \ No newline at end of file diff --git a/.changeset/kind-garlics-poke.md b/.changeset/kind-garlics-poke.md deleted file mode 100644 index 20a4fe1b7273..000000000000 --- a/.changeset/kind-garlics-poke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/vue': minor ---- - -`renderDataCompose().result` is now simply passes the composable result if it's a ref, or wraps it as computable ref diff --git a/.changeset/tricky-olives-wash.md b/.changeset/tricky-olives-wash.md deleted file mode 100644 index cf7a20254c22..000000000000 --- a/.changeset/tricky-olives-wash.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@data-client/vue': minor ---- - -Add useDLE() - -```ts -const { date, loading, error } = useDLE( - CoolerArticleResource.get, - computed(() => (props.id !== null ? { id: props.id } : null)), -); -``` \ No newline at end of file diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 1df2cf5f0f88..6cfc5ec428fe 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,5 +1,79 @@ # @data-client/vue +## 0.2.0-beta-20251026233651-4c1d5c9084df801287cc120cd7a9c77b9bbe96e0 + +### Minor Changes + +- [`733091f`](https://github.com/reactive/data-client/commit/733091f09b503ef7bb7d435a1d86dd7cbcfd96bb) Thanks [@ntucker](https://github.com/ntucker)! - Never wrap renderDataCompose().result in ref. Just passthrough the return value directly. Always. + + ### Before + + ```ts + const { result, cleanup } = await renderDataCompose(() => + useSuspense(CoolerArticleResource.get, { id: payload.id }), + ); + + const articleRef = await result.value; + expect(articleRef.value.title).toBe(payload.title); + expect(articleRef.value.content).toBe(payload.content); + ``` + + ### After + + ```ts + const { result, cleanup } = await renderDataCompose(() => + useSuspense(CoolerArticleResource.get, { id: payload.id }), + ); + + const articleRef = await result; + expect(articleRef.value.title).toBe(payload.title); + expect(articleRef.value.content).toBe(payload.content); + ``` + +- [#3591](https://github.com/reactive/data-client/pull/3591) [`aecd59b`](https://github.com/reactive/data-client/commit/aecd59becae7fb722eee4bd5035f2a654e75d5d8) Thanks [@ntucker](https://github.com/ntucker)! - `renderDataCompose()` awaits until the composable runs + + ### Before + + ```ts + const { result, cleanup } = renderDataCompose(() => + useCache(CoolerArticleResource.get, { id: payload.id }), + ); + + // Wait for initial render + await waitForNextUpdate(); + + expect(result.current).toBeDefined(); + ``` + + ### After + + ```ts + const { result, cleanup } = await renderDataCompose(() => + useCache(CoolerArticleResource.get, { id: payload.id }), + ); + + expect(result.value).toBeDefined(); + ``` + +- [#3591](https://github.com/reactive/data-client/pull/3591) [`aecd59b`](https://github.com/reactive/data-client/commit/aecd59becae7fb722eee4bd5035f2a654e75d5d8) Thanks [@ntucker](https://github.com/ntucker)! - `renderDataCompose().result` is now simply passes the composable result if it's a ref, or wraps it as computable ref + +- [#3592](https://github.com/reactive/data-client/pull/3592) [`4c9465b`](https://github.com/reactive/data-client/commit/4c9465bdcb139d79ca7205925e93fc45d37f3281) Thanks [@ntucker](https://github.com/ntucker)! - Add useDLE() + + ```ts + const { date, loading, error } = useDLE( + CoolerArticleResource.get, + computed(() => (props.id !== null ? { id: props.id } : null)), + ); + ``` + +### Patch Changes + +- [`d52fa38`](https://github.com/reactive/data-client/commit/d52fa38115950db8d3f3fde2d364c9f0ad8aaf65) Thanks [@ntucker](https://github.com/ntucker)! - Fixed race condition in useSuspense() where args change while initial suspense is not complete + +- [`eae4fe4`](https://github.com/reactive/data-client/commit/eae4fe4004ff506a020fac0ca7b322d7eda0aac2) Thanks [@ntucker](https://github.com/ntucker)! - renderDataClient -> renderDataCompose + + This keeps naming conventions closer to the React version + ## 0.2.0-beta-20251026024409-a1c466cfd7aac770879b584acaac40fa61d01b61 ### Patch Changes diff --git a/packages/vue/package.json b/packages/vue/package.json index 3393c96ad93e..a912845407d6 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/vue", - "version": "0.2.0-beta-20251026024409-a1c466cfd7aac770879b584acaac40fa61d01b61", + "version": "0.2.0-beta-20251026233651-4c1d5c9084df801287cc120cd7a9c77b9bbe96e0", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "homepage": "https://dataclient.io", "repository": { From ef632c49a03da67187b6097fe8154893cd930d30 Mon Sep 17 00:00:00 2001 From: Nathaniel Tucker Date: Sun, 9 Nov 2025 20:38:24 -0500 Subject: [PATCH 08/13] enhance: Republish beta --- .changeset/twenty-doors-vanish.md | 7 +++++++ packages/endpoint/package.json | 2 +- packages/graphql/package.json | 2 +- packages/rest/package.json | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 .changeset/twenty-doors-vanish.md diff --git a/.changeset/twenty-doors-vanish.md b/.changeset/twenty-doors-vanish.md new file mode 100644 index 000000000000..9614d489558d --- /dev/null +++ b/.changeset/twenty-doors-vanish.md @@ -0,0 +1,7 @@ +--- +'@data-client/endpoint': patch +'@data-client/graphql': patch +'@data-client/rest': patch +--- + +Bump version minor to replace bad publish diff --git a/packages/endpoint/package.json b/packages/endpoint/package.json index 80d7d12561f3..c6e407990e87 100644 --- a/packages/endpoint/package.json +++ b/packages/endpoint/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/endpoint", - "version": "0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.15.1-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", "description": "Declarative Network Interface Definitions", "homepage": "https://dataclient.io/docs/guides/custom-protocol", "keywords": [ diff --git a/packages/graphql/package.json b/packages/graphql/package.json index edb3e47479ce..e571425ac190 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/graphql", - "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.15.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Quickly define typed GraphQL resources and endpoints", "homepage": "https://dataclient.io/docs/graphql", "repository": { diff --git a/packages/rest/package.json b/packages/rest/package.json index 9cb4b1010e65..fa0010df1567 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/rest", - "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.15.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Quickly define typed REST resources and endpoints", "homepage": "https://dataclient.io/rest", "repository": { From 10cd2834e7170ddcf024072670d557ea1b5342ca Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 9 Nov 2025 20:44:40 -0500 Subject: [PATCH 09/13] internal: Publish beta version (#3604) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/twenty-doors-vanish.md | 7 ------- examples/benchmark/CHANGELOG.md | 9 +++++++++ examples/benchmark/package.json | 2 +- examples/normalizr-github/CHANGELOG.md | 8 ++++++++ examples/normalizr-github/package.json | 2 +- examples/normalizr-redux/CHANGELOG.md | 8 ++++++++ examples/normalizr-redux/package.json | 2 +- examples/normalizr-relationships/CHANGELOG.md | 8 ++++++++ examples/normalizr-relationships/package.json | 2 +- examples/test-bundlesize/CHANGELOG.md | 8 ++++++++ examples/test-bundlesize/package.json | 2 +- packages/endpoint/CHANGELOG.md | 6 ++++++ packages/endpoint/package.json | 2 +- packages/graphql/CHANGELOG.md | 9 +++++++++ packages/graphql/package.json | 2 +- packages/rest/CHANGELOG.md | 9 +++++++++ packages/rest/package.json | 2 +- 17 files changed, 73 insertions(+), 15 deletions(-) delete mode 100644 .changeset/twenty-doors-vanish.md diff --git a/.changeset/twenty-doors-vanish.md b/.changeset/twenty-doors-vanish.md deleted file mode 100644 index 9614d489558d..000000000000 --- a/.changeset/twenty-doors-vanish.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@data-client/endpoint': patch -'@data-client/graphql': patch -'@data-client/rest': patch ---- - -Bump version minor to replace bad publish diff --git a/examples/benchmark/CHANGELOG.md b/examples/benchmark/CHANGELOG.md index a28a1d58535e..4ceed9f9cefe 100644 --- a/examples/benchmark/CHANGELOG.md +++ b/examples/benchmark/CHANGELOG.md @@ -1,5 +1,14 @@ # example-benchmark +## 0.4.75-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + +### Patch Changes + +- Updated dependencies [[`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30)]: + - @data-client/endpoint@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + - @data-client/core@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.4.75-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c ### Patch Changes diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index 67f147a1b693..ccda35216071 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -1,6 +1,6 @@ { "name": "example-benchmark", - "version": "0.4.75-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.4.75-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", "description": "Benchmark for normalizr", "main": "index.js", "author": "Nathaniel Tucker", diff --git a/examples/normalizr-github/CHANGELOG.md b/examples/normalizr-github/CHANGELOG.md index 409632edefa2..b867beb63d94 100644 --- a/examples/normalizr-github/CHANGELOG.md +++ b/examples/normalizr-github/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-github-example +## 0.1.51-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + +### Patch Changes + +- Updated dependencies [[`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30)]: + - @data-client/endpoint@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.51-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/examples/normalizr-github/package.json b/examples/normalizr-github/package.json index 2e0d4efe3643..0c60d101e1c9 100644 --- a/examples/normalizr-github/package.json +++ b/examples/normalizr-github/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-github-example", - "version": "0.1.51-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.1.51-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", "description": "And example of using Normalizr with github", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/normalizr-redux/CHANGELOG.md b/examples/normalizr-redux/CHANGELOG.md index 95e0cbd36f48..4ec7dbfe788a 100644 --- a/examples/normalizr-redux/CHANGELOG.md +++ b/examples/normalizr-redux/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-redux-example +## 0.1.49-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + +### Patch Changes + +- Updated dependencies [[`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30)]: + - @data-client/endpoint@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.49-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/examples/normalizr-redux/package.json b/examples/normalizr-redux/package.json index 3035814b8232..3da1acfeec06 100644 --- a/examples/normalizr-redux/package.json +++ b/examples/normalizr-redux/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-redux-example", - "version": "0.1.49-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.1.49-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", "description": "And example of using Normalizr with Redux", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/normalizr-relationships/CHANGELOG.md b/examples/normalizr-relationships/CHANGELOG.md index d373e3e65e5a..01f501a53411 100644 --- a/examples/normalizr-relationships/CHANGELOG.md +++ b/examples/normalizr-relationships/CHANGELOG.md @@ -1,5 +1,13 @@ # normalizr-relationships +## 0.1.51-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + +### Patch Changes + +- Updated dependencies [[`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30)]: + - @data-client/endpoint@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b + ## 0.1.51-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/examples/normalizr-relationships/package.json b/examples/normalizr-relationships/package.json index 6bed125ecb91..4dd5211dd034 100644 --- a/examples/normalizr-relationships/package.json +++ b/examples/normalizr-relationships/package.json @@ -1,6 +1,6 @@ { "name": "normalizr-relationships", - "version": "0.1.51-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.1.51-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", "description": "And example of using Normalizr with relationships", "main": "index.js", "author": "Paul Armstrong", diff --git a/examples/test-bundlesize/CHANGELOG.md b/examples/test-bundlesize/CHANGELOG.md index 11448e7e3f3b..ff412738214c 100644 --- a/examples/test-bundlesize/CHANGELOG.md +++ b/examples/test-bundlesize/CHANGELOG.md @@ -1,5 +1,13 @@ # test-bundlesize +## 0.1.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + +### Patch Changes + +- Updated dependencies [[`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30)]: + - @data-client/rest@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + - @data-client/react@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + ## 0.1.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c ### Patch Changes diff --git a/examples/test-bundlesize/package.json b/examples/test-bundlesize/package.json index 356bab43620a..7dee3eed5cf0 100644 --- a/examples/test-bundlesize/package.json +++ b/examples/test-bundlesize/package.json @@ -1,6 +1,6 @@ { "name": "test-bundlesize", - "version": "0.1.0", + "version": "0.1.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", "packageManager": "yarn@4.11.0", "description": "Testing Bundled Size", "scripts": { diff --git a/packages/endpoint/CHANGELOG.md b/packages/endpoint/CHANGELOG.md index 3f13da8fe545..28e5f98406d4 100644 --- a/packages/endpoint/CHANGELOG.md +++ b/packages/endpoint/CHANGELOG.md @@ -1,5 +1,11 @@ # @data-client/endpoint +## 0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + +### Patch Changes + +- [`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30) Thanks [@ntucker](https://github.com/ntucker)! - Bump version minor to replace bad publish + ## 0.15.0-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a ### Patch Changes diff --git a/packages/endpoint/package.json b/packages/endpoint/package.json index c6e407990e87..afec48b5c544 100644 --- a/packages/endpoint/package.json +++ b/packages/endpoint/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/endpoint", - "version": "0.15.1-beta-20251022010821-0e5f6bd2963b6deecb68b5febe71cdd3b10c801a", + "version": "0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", "description": "Declarative Network Interface Definitions", "homepage": "https://dataclient.io/docs/guides/custom-protocol", "keywords": [ diff --git a/packages/graphql/CHANGELOG.md b/packages/graphql/CHANGELOG.md index 69a4fa1e3f2a..75793def5681 100644 --- a/packages/graphql/CHANGELOG.md +++ b/packages/graphql/CHANGELOG.md @@ -1,5 +1,14 @@ # @data-client/graphql +## 0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + +### Patch Changes + +- [`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30) Thanks [@ntucker](https://github.com/ntucker)! - Bump version minor to replace bad publish + +- Updated dependencies [[`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30)]: + - @data-client/endpoint@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + ## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c ### Patch Changes diff --git a/packages/graphql/package.json b/packages/graphql/package.json index e571425ac190..3bc69db60468 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/graphql", - "version": "0.15.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", "description": "Quickly define typed GraphQL resources and endpoints", "homepage": "https://dataclient.io/docs/graphql", "repository": { diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index 3caeb3cd33b6..e3fe43f3a9d9 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,5 +1,14 @@ # @data-client/rest +## 0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + +### Patch Changes + +- [`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30) Thanks [@ntucker](https://github.com/ntucker)! - Bump version minor to replace bad publish + +- Updated dependencies [[`ef632c4`](https://github.com/reactive/data-client/commit/ef632c49a03da67187b6097fe8154893cd930d30)]: + - @data-client/endpoint@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + ## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c ### Patch Changes diff --git a/packages/rest/package.json b/packages/rest/package.json index fa0010df1567..9f9fe7229618 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/rest", - "version": "0.15.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", "description": "Quickly define typed REST resources and endpoints", "homepage": "https://dataclient.io/rest", "repository": { From 8913a49d898f6c7d69e1964d68f19daf68565bef Mon Sep 17 00:00:00 2001 From: Nathaniel Tucker Date: Mon, 10 Nov 2025 10:13:34 -0500 Subject: [PATCH 10/13] enhance: Republish beta --- .changeset/full-goats-sleep.md | 5 +++++ packages/img/package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/full-goats-sleep.md diff --git a/.changeset/full-goats-sleep.md b/.changeset/full-goats-sleep.md new file mode 100644 index 000000000000..bb4af42c9e3f --- /dev/null +++ b/.changeset/full-goats-sleep.md @@ -0,0 +1,5 @@ +--- +'@data-client/img': patch +--- + +Bump version minor to replace bad publish diff --git a/packages/img/package.json b/packages/img/package.json index ae1e78281625..6c0612ec8e60 100644 --- a/packages/img/package.json +++ b/packages/img/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/img", - "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.15.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", "description": "Suspenseful images", "homepage": "https://dataclient.io/docs/guides/img-media#just-images", "repository": { From f8fbf4202cbb56d68c535fd891981bc65034abb8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 07:15:38 -0800 Subject: [PATCH 11/13] internal: Publish beta version (#3606) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/full-goats-sleep.md | 5 ----- examples/test-bundlesize/CHANGELOG.md | 7 +++++++ examples/test-bundlesize/package.json | 2 +- packages/img/CHANGELOG.md | 6 ++++++ packages/img/package.json | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) delete mode 100644 .changeset/full-goats-sleep.md diff --git a/.changeset/full-goats-sleep.md b/.changeset/full-goats-sleep.md deleted file mode 100644 index bb4af42c9e3f..000000000000 --- a/.changeset/full-goats-sleep.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/img': patch ---- - -Bump version minor to replace bad publish diff --git a/examples/test-bundlesize/CHANGELOG.md b/examples/test-bundlesize/CHANGELOG.md index ff412738214c..cbb2b7960c19 100644 --- a/examples/test-bundlesize/CHANGELOG.md +++ b/examples/test-bundlesize/CHANGELOG.md @@ -1,5 +1,12 @@ # test-bundlesize +## 0.1.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef + +### Patch Changes + +- Updated dependencies [[`8913a49`](https://github.com/reactive/data-client/commit/8913a49d898f6c7d69e1964d68f19daf68565bef)]: + - @data-client/img@0.15.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef + ## 0.1.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 ### Patch Changes diff --git a/examples/test-bundlesize/package.json b/examples/test-bundlesize/package.json index 7dee3eed5cf0..427228354265 100644 --- a/examples/test-bundlesize/package.json +++ b/examples/test-bundlesize/package.json @@ -1,6 +1,6 @@ { "name": "test-bundlesize", - "version": "0.1.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", + "version": "0.1.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef", "packageManager": "yarn@4.11.0", "description": "Testing Bundled Size", "scripts": { diff --git a/packages/img/CHANGELOG.md b/packages/img/CHANGELOG.md index 231910699a9e..2d28c15f57ac 100644 --- a/packages/img/CHANGELOG.md +++ b/packages/img/CHANGELOG.md @@ -1,5 +1,11 @@ # @data-client/img +## 0.15.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef + +### Patch Changes + +- [`8913a49`](https://github.com/reactive/data-client/commit/8913a49d898f6c7d69e1964d68f19daf68565bef) Thanks [@ntucker](https://github.com/ntucker)! - Bump version minor to replace bad publish + ## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c ### Patch Changes diff --git a/packages/img/package.json b/packages/img/package.json index 6c0612ec8e60..81c9364bfbdc 100644 --- a/packages/img/package.json +++ b/packages/img/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/img", - "version": "0.15.1-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.15.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef", "description": "Suspenseful images", "homepage": "https://dataclient.io/docs/guides/img-media#just-images", "repository": { From 4569d31473ed0be3c80d15dbc17564c9a41ac2be Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 16 Nov 2025 17:54:18 -0500 Subject: [PATCH 12/13] internal: Publish beta version (#3624) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/clever-houses-beam.md | 11 ---- .changeset/gentle-heads-rule.md | 68 ------------------------- .changeset/shy-bugs-melt.md | 28 ----------- examples/benchmark/CHANGELOG.md | 8 +++ examples/benchmark/package.json | 2 +- examples/coin-app/CHANGELOG.md | 7 +++ examples/coin-app/package.json | 4 +- examples/test-bundlesize/CHANGELOG.md | 8 +++ examples/test-bundlesize/package.json | 2 +- packages/core/CHANGELOG.md | 12 +++++ packages/core/package.json | 2 +- packages/rest/CHANGELOG.md | 36 ++++++++++++++ packages/rest/package.json | 2 +- packages/vue/CHANGELOG.md | 72 +++++++++++++++++++++++++++ packages/vue/package.json | 2 +- yarn.lock | 15 +----- 16 files changed, 152 insertions(+), 127 deletions(-) delete mode 100644 .changeset/clever-houses-beam.md delete mode 100644 .changeset/gentle-heads-rule.md delete mode 100644 .changeset/shy-bugs-melt.md diff --git a/.changeset/clever-houses-beam.md b/.changeset/clever-houses-beam.md deleted file mode 100644 index de00afc41ad5..000000000000 --- a/.changeset/clever-houses-beam.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@data-client/core': patch ---- - -Add @data-client/core/mock - -New exports: -- `MockController` - Controller wrapper for mocking endpoints -- `collapseFixture` - Resolves fixture responses (handles function responses) -- `createFixtureMap` - Separates fixtures into static map and interceptors -- Types: `MockProps`, `Fixture`, `SuccessFixture`, `ErrorFixture`, `Interceptor`, `ResponseInterceptor`, `FetchInterceptor`, `FixtureEndpoint`, `SuccessFixtureEndpoint`, `ErrorFixtureEndpoint` diff --git a/.changeset/gentle-heads-rule.md b/.changeset/gentle-heads-rule.md deleted file mode 100644 index 62bd3dbb2731..000000000000 --- a/.changeset/gentle-heads-rule.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -'@data-client/vue': patch ---- - -Add MockPlugin - -Example usage: - -```ts -import { createApp } from 'vue'; -import { DataClientPlugin } from '@data-client/vue'; -import { MockPlugin } from '@data-client/vue/test'; - -const app = createApp(App); -app.use(DataClientPlugin); -app.use(MockPlugin, { - fixtures: [ - { - endpoint: MyResource.get, - args: [{ id: 1 }], - response: { id: 1, name: 'Test' }, - }, - ], -}); -app.mount('#app'); -``` - -Interceptors allow dynamic responses based on request arguments: - -```ts -app.use(MockPlugin, { - fixtures: [ - { - endpoint: MyResource.get, - response: (...args) => { - const [{ id }] = args; - return { - id, - name: `Dynamic ${id}`, - }; - }, - }, - ], -}); -``` - -Interceptors can also maintain state across calls: - -```ts -const interceptorData = { count: 0 }; - -app.use(MockPlugin, { - fixtures: [ - { - endpoint: MyResource.get, - response: function (this: { count: number }, ...args) { - this.count++; - const [{ id }] = args; - return { - id, - name: `Call ${this.count}`, - }; - }, - }, - ], - getInitialInterceptorData: () => interceptorData, -}); -``` diff --git a/.changeset/shy-bugs-melt.md b/.changeset/shy-bugs-melt.md deleted file mode 100644 index 6f75427977e2..000000000000 --- a/.changeset/shy-bugs-melt.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -'@data-client/rest': patch ---- - -Add RestEndpoint.remove - -Creates a PATCH endpoint that both removes an entity from a Collection and updates the entity with the provided body data. - -```ts -const getTodos = new RestEndpoint({ - path: '/todos', - schema: new schema.Collection([Todo]), -}); - -// Removes Todo from collection AND updates it with new data -await ctrl.fetch(getTodos.remove, {}, { id: '123', title: 'Done', completed: true }); -``` - -```ts -// Remove user from group list and update their group -await ctrl.fetch( - UserResource.getList.remove, - { group: 'five' }, - { id: 2, username: 'user2', group: 'newgroup' } -); -// User is removed from the 'five' group list -// AND the user entity is updated with group: 'newgroup' -``` diff --git a/examples/benchmark/CHANGELOG.md b/examples/benchmark/CHANGELOG.md index 4ceed9f9cefe..d832617e3c7a 100644 --- a/examples/benchmark/CHANGELOG.md +++ b/examples/benchmark/CHANGELOG.md @@ -1,5 +1,13 @@ # example-benchmark +## 0.4.75-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + +### Patch Changes + +- Updated dependencies [[`ad3964d`](https://github.com/reactive/data-client/commit/ad3964d65d245c459809f64afe17ebdf5fda5042)]: + - @data-client/core@0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + - @data-client/endpoint@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + ## 0.4.75-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 ### Patch Changes diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index a21312661453..c0e1be3066e9 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -1,6 +1,6 @@ { "name": "example-benchmark", - "version": "0.4.75-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", + "version": "0.4.75-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", "description": "Benchmark for normalizr", "main": "index.js", "author": "Nathaniel Tucker", diff --git a/examples/coin-app/CHANGELOG.md b/examples/coin-app/CHANGELOG.md index 543619ad23ee..8176959eebbb 100644 --- a/examples/coin-app/CHANGELOG.md +++ b/examples/coin-app/CHANGELOG.md @@ -1,5 +1,12 @@ # coinbase-lite +## 0.0.10-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + +### Patch Changes + +- Updated dependencies [[`8be3b17`](https://github.com/reactive/data-client/commit/8be3b1725707c4bcbf0fdd6e72ddd78d85fd125f)]: + - @data-client/rest@0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + ## 0.0.10-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c ### Patch Changes diff --git a/examples/coin-app/package.json b/examples/coin-app/package.json index f3d1b2e1a059..c01a8fd9d0ac 100644 --- a/examples/coin-app/package.json +++ b/examples/coin-app/package.json @@ -1,6 +1,6 @@ { "name": "coinbase-lite", - "version": "0.0.9", + "version": "0.0.10-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", "packageManager": "yarn@4.11.0", "description": "Coin App", "scripts": { @@ -46,7 +46,7 @@ "@babel/runtime-corejs3": "7.28.4", "@data-client/img": "0.15.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef", "@data-client/react": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", - "@data-client/rest": "0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", + "@data-client/rest": "0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", "core-js": "3.46.0", "d3": "7.9.0", "history": "*", diff --git a/examples/test-bundlesize/CHANGELOG.md b/examples/test-bundlesize/CHANGELOG.md index cbb2b7960c19..5548ef17fb90 100644 --- a/examples/test-bundlesize/CHANGELOG.md +++ b/examples/test-bundlesize/CHANGELOG.md @@ -1,5 +1,13 @@ # test-bundlesize +## 0.1.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + +### Patch Changes + +- Updated dependencies [[`8be3b17`](https://github.com/reactive/data-client/commit/8be3b1725707c4bcbf0fdd6e72ddd78d85fd125f)]: + - @data-client/rest@0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + - @data-client/react@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + ## 0.1.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef ### Patch Changes diff --git a/examples/test-bundlesize/package.json b/examples/test-bundlesize/package.json index 7c5fc060714f..de0539b5ada7 100644 --- a/examples/test-bundlesize/package.json +++ b/examples/test-bundlesize/package.json @@ -1,6 +1,6 @@ { "name": "test-bundlesize", - "version": "0.1.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef", + "version": "0.1.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", "packageManager": "yarn@4.11.0", "description": "Testing Bundled Size", "scripts": { diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 4cf6b737e9ea..52881abbe146 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,17 @@ # @data-client/core +## 0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + +### Patch Changes + +- [#3622](https://github.com/reactive/data-client/pull/3622) [`ad3964d`](https://github.com/reactive/data-client/commit/ad3964d65d245c459809f64afe17ebdf5fda5042) Thanks [@ntucker](https://github.com/ntucker)! - Add @data-client/core/mock + + New exports: + - `MockController` - Controller wrapper for mocking endpoints + - `collapseFixture` - Resolves fixture responses (handles function responses) + - `createFixtureMap` - Separates fixtures into static map and interceptors + - Types: `MockProps`, `Fixture`, `SuccessFixture`, `ErrorFixture`, `Interceptor`, `ResponseInterceptor`, `FetchInterceptor`, `FixtureEndpoint`, `SuccessFixtureEndpoint`, `ErrorFixtureEndpoint` + ## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index c90c3be566ca..43e0a136d915 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/core", - "version": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", + "version": "0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "sideEffects": false, "main": "dist/index.js", diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index e3fe43f3a9d9..7ed54133bfe3 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,5 +1,41 @@ # @data-client/rest +## 0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + +### Patch Changes + +- [#3623](https://github.com/reactive/data-client/pull/3623) [`8be3b17`](https://github.com/reactive/data-client/commit/8be3b1725707c4bcbf0fdd6e72ddd78d85fd125f) Thanks [@ntucker](https://github.com/ntucker)! - Add RestEndpoint.remove + + Creates a PATCH endpoint that both removes an entity from a Collection and updates the entity with the provided body data. + + ```ts + const getTodos = new RestEndpoint({ + path: '/todos', + schema: new schema.Collection([Todo]), + }); + + // Removes Todo from collection AND updates it with new data + await ctrl.fetch( + getTodos.remove, + {}, + { id: '123', title: 'Done', completed: true }, + ); + ``` + + ```ts + // Remove user from group list and update their group + await ctrl.fetch( + UserResource.getList.remove, + { group: 'five' }, + { id: 2, username: 'user2', group: 'newgroup' }, + ); + // User is removed from the 'five' group list + // AND the user entity is updated with group: 'newgroup' + ``` + +- Updated dependencies []: + - @data-client/endpoint@0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 + ## 0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 ### Patch Changes diff --git a/packages/rest/package.json b/packages/rest/package.json index 9f9fe7229618..e161c2bbaaa7 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/rest", - "version": "0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30", + "version": "0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", "description": "Quickly define typed REST resources and endpoints", "homepage": "https://dataclient.io/rest", "repository": { diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 6cfc5ec428fe..4a83e838fe4f 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,5 +1,77 @@ # @data-client/vue +## 0.3.2-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + +### Patch Changes + +- [#3622](https://github.com/reactive/data-client/pull/3622) [`ad3964d`](https://github.com/reactive/data-client/commit/ad3964d65d245c459809f64afe17ebdf5fda5042) Thanks [@ntucker](https://github.com/ntucker)! - Add MockPlugin + + Example usage: + + ```ts + import { createApp } from 'vue'; + import { DataClientPlugin } from '@data-client/vue'; + import { MockPlugin } from '@data-client/vue/test'; + + const app = createApp(App); + app.use(DataClientPlugin); + app.use(MockPlugin, { + fixtures: [ + { + endpoint: MyResource.get, + args: [{ id: 1 }], + response: { id: 1, name: 'Test' }, + }, + ], + }); + app.mount('#app'); + ``` + + Interceptors allow dynamic responses based on request arguments: + + ```ts + app.use(MockPlugin, { + fixtures: [ + { + endpoint: MyResource.get, + response: (...args) => { + const [{ id }] = args; + return { + id, + name: `Dynamic ${id}`, + }; + }, + }, + ], + }); + ``` + + Interceptors can also maintain state across calls: + + ```ts + const interceptorData = { count: 0 }; + + app.use(MockPlugin, { + fixtures: [ + { + endpoint: MyResource.get, + response: function (this: { count: number }, ...args) { + this.count++; + const [{ id }] = args; + return { + id, + name: `Call ${this.count}`, + }; + }, + }, + ], + getInitialInterceptorData: () => interceptorData, + }); + ``` + +- Updated dependencies [[`ad3964d`](https://github.com/reactive/data-client/commit/ad3964d65d245c459809f64afe17ebdf5fda5042)]: + - @data-client/core@0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 + ## 0.2.0-beta-20251026233651-4c1d5c9084df801287cc120cd7a9c77b9bbe96e0 ### Minor Changes diff --git a/packages/vue/package.json b/packages/vue/package.json index d72ff600c106..27bb7ced8264 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/vue", - "version": "0.3.1", + "version": "0.3.2-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "homepage": "https://dataclient.io", "repository": { diff --git a/yarn.lock b/yarn.lock index b0f5639d3be2..1c7292ab452f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3396,18 +3396,7 @@ __metadata: languageName: unknown linkType: soft -"@data-client/rest@npm:0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30": - version: 0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30 - resolution: "@data-client/rest@npm:0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30" - dependencies: - "@babel/runtime": "npm:^7.20.0" - "@data-client/endpoint": "npm:^0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30" - path-to-regexp: "npm:^6.3.0" - checksum: 10c0/bfd4933d07435db6904e2d6f106889783fa03f01ef57d2383c681ee682077b760bc5b5b12b7629962732a18013f98b44ac1316c8928fc6a3e9ef54fd47ba14fa - languageName: node - linkType: hard - -"@data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest": +"@data-client/rest@npm:0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4, @data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest": version: 0.0.0-use.local resolution: "@data-client/rest@workspace:packages/rest" dependencies: @@ -11508,7 +11497,7 @@ __metadata: "@babel/runtime-corejs3": "npm:7.28.4" "@data-client/img": "npm:0.15.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef" "@data-client/react": "npm:0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c" - "@data-client/rest": "npm:0.15.1-beta-20251110013913-ef632c49a03da67187b6097fe8154893cd930d30" + "@data-client/rest": "npm:0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4" "@linaria/core": "npm:*" "@linaria/react": "npm:*" "@linaria/shaker": "npm:*" From 601cf0947e7c099be45d6d78698e9b4815f169f1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 30 Nov 2025 20:34:02 -0500 Subject: [PATCH 13/13] internal: Publish beta version (#3648) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/lucky-paws-jog.md | 16 ---------------- .changeset/thirty-dolls-wear.md | 5 ----- .changeset/tiny-wolves-thank.md | 5 ----- examples/coin-app/CHANGELOG.md | 7 +++++++ examples/coin-app/package.json | 4 ++-- examples/test-bundlesize/CHANGELOG.md | 8 ++++++++ examples/test-bundlesize/package.json | 2 +- packages/rest/CHANGELOG.md | 17 +++++++++++++++++ packages/rest/package.json | 2 +- packages/vue/CHANGELOG.md | 8 ++++++++ packages/vue/package.json | 2 +- yarn.lock | 4 ++-- 12 files changed, 47 insertions(+), 33 deletions(-) delete mode 100644 .changeset/lucky-paws-jog.md delete mode 100644 .changeset/thirty-dolls-wear.md delete mode 100644 .changeset/tiny-wolves-thank.md diff --git a/.changeset/lucky-paws-jog.md b/.changeset/lucky-paws-jog.md deleted file mode 100644 index 6863e7483025..000000000000 --- a/.changeset/lucky-paws-jog.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -'@data-client/rest': patch ---- - -Fix `getPage` types when paginationField is in body - -```ts -const ep = new RestEndpoint({ - path: '/rpc', - method: 'POST', - body: {} as { page?: number; method: string }, - paginationField: 'page', -}); -// Before: ep.getPage({ page: 2 }, { method: 'get' }) ❌ -// After: ep.getPage({ page: 2, method: 'get' }) ✓ -``` diff --git a/.changeset/thirty-dolls-wear.md b/.changeset/thirty-dolls-wear.md deleted file mode 100644 index 506d293b8a86..000000000000 --- a/.changeset/thirty-dolls-wear.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/vue': patch ---- - -Update README with MockPlugin diff --git a/.changeset/tiny-wolves-thank.md b/.changeset/tiny-wolves-thank.md deleted file mode 100644 index bc9e971a8f7c..000000000000 --- a/.changeset/tiny-wolves-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@data-client/vue': patch ---- - -Improve dependency injection console message diff --git a/examples/coin-app/CHANGELOG.md b/examples/coin-app/CHANGELOG.md index 8176959eebbb..bcb53373a312 100644 --- a/examples/coin-app/CHANGELOG.md +++ b/examples/coin-app/CHANGELOG.md @@ -1,5 +1,12 @@ # coinbase-lite +## 0.0.10-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308 + +### Patch Changes + +- Updated dependencies [[`63ee107`](https://github.com/reactive/data-client/commit/63ee107be9d559e6ccbcb2f9c6fd7bf83165e551)]: + - @data-client/rest@0.15.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308 + ## 0.0.10-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 ### Patch Changes diff --git a/examples/coin-app/package.json b/examples/coin-app/package.json index 41b5b9be29c7..c493df0ecbed 100644 --- a/examples/coin-app/package.json +++ b/examples/coin-app/package.json @@ -1,6 +1,6 @@ { "name": "coinbase-lite", - "version": "0.0.10-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", + "version": "0.0.10-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308", "packageManager": "yarn@4.12.0", "description": "Coin App", "scripts": { @@ -46,7 +46,7 @@ "@babel/runtime-corejs3": "7.28.4", "@data-client/img": "0.15.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef", "@data-client/react": "0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c", - "@data-client/rest": "0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", + "@data-client/rest": "0.15.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308", "core-js": "3.47.0", "d3": "7.9.0", "history": "*", diff --git a/examples/test-bundlesize/CHANGELOG.md b/examples/test-bundlesize/CHANGELOG.md index 5548ef17fb90..0eaf334b70dc 100644 --- a/examples/test-bundlesize/CHANGELOG.md +++ b/examples/test-bundlesize/CHANGELOG.md @@ -1,5 +1,13 @@ # test-bundlesize +## 0.1.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308 + +### Patch Changes + +- Updated dependencies [[`63ee107`](https://github.com/reactive/data-client/commit/63ee107be9d559e6ccbcb2f9c6fd7bf83165e551)]: + - @data-client/rest@0.15.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308 + - @data-client/react@0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c + ## 0.1.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 ### Patch Changes diff --git a/examples/test-bundlesize/package.json b/examples/test-bundlesize/package.json index c58fd6bf1469..de0183d7960d 100644 --- a/examples/test-bundlesize/package.json +++ b/examples/test-bundlesize/package.json @@ -1,6 +1,6 @@ { "name": "test-bundlesize", - "version": "0.1.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", + "version": "0.1.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308", "packageManager": "yarn@4.12.0", "description": "Testing Bundled Size", "scripts": { diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index 7ed54133bfe3..943576f9ca86 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,5 +1,22 @@ # @data-client/rest +## 0.15.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308 + +### Patch Changes + +- [#3635](https://github.com/reactive/data-client/pull/3635) [`63ee107`](https://github.com/reactive/data-client/commit/63ee107be9d559e6ccbcb2f9c6fd7bf83165e551) Thanks [@ntucker](https://github.com/ntucker)! - Fix `getPage` types when paginationField is in body + + ```ts + const ep = new RestEndpoint({ + path: '/rpc', + method: 'POST', + body: {} as { page?: number; method: string }, + paginationField: 'page', + }); + // Before: ep.getPage({ page: 2 }, { method: 'get' }) ❌ + // After: ep.getPage({ page: 2, method: 'get' }) ✓ + ``` + ## 0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 ### Patch Changes diff --git a/packages/rest/package.json b/packages/rest/package.json index e161c2bbaaa7..63339116f57a 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/rest", - "version": "0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", + "version": "0.15.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308", "description": "Quickly define typed REST resources and endpoints", "homepage": "https://dataclient.io/rest", "repository": { diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 4a83e838fe4f..41fa2b27b026 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,5 +1,13 @@ # @data-client/vue +## 0.3.2-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308 + +### Patch Changes + +- [`1c945bb`](https://github.com/reactive/data-client/commit/1c945bbc4cd290a186914f16b9afd9e7501198ed) Thanks [@ntucker](https://github.com/ntucker)! - Update README with MockPlugin + +- [`b03fa99`](https://github.com/reactive/data-client/commit/b03fa99f1327e91ffad840b90d4ac5ef05a358d3) Thanks [@ntucker](https://github.com/ntucker)! - Improve dependency injection console message + ## 0.3.2-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4 ### Patch Changes diff --git a/packages/vue/package.json b/packages/vue/package.json index 27bb7ced8264..7ecf1864713a 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@data-client/vue", - "version": "0.3.2-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4", + "version": "0.3.2-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308", "description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch", "homepage": "https://dataclient.io", "repository": { diff --git a/yarn.lock b/yarn.lock index f2a01b86b639..5ccedaa46392 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3396,7 +3396,7 @@ __metadata: languageName: unknown linkType: soft -"@data-client/rest@npm:0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4, @data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest": +"@data-client/rest@npm:0.15.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308, @data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest": version: 0.0.0-use.local resolution: "@data-client/rest@workspace:packages/rest" dependencies: @@ -11607,7 +11607,7 @@ __metadata: "@babel/runtime-corejs3": "npm:7.28.4" "@data-client/img": "npm:0.15.1-beta-20251110151417-8913a49d898f6c7d69e1964d68f19daf68565bef" "@data-client/react": "npm:0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c" - "@data-client/rest": "npm:0.15.1-beta-20251116224907-3174fe59b114d2037762a6458f5576d23e483ba4" + "@data-client/rest": "npm:0.15.1-beta-20251201012906-ff2853c5a0da93a503b2b606c8fc724625b79308" "@linaria/core": "npm:*" "@linaria/react": "npm:*" "@linaria/shaker": "npm:*"