From 7cdda90deb145340a67a5704fcd47e7652f392ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 4 Nov 2025 12:56:44 -0800 Subject: [PATCH 1/2] chore: bump version 3.0.0-beta.17 (#363) Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com> --- package.json | 2 +- packages/cli/package.json | 2 +- packages/clients/tanstack-query/package.json | 2 +- packages/common-helpers/package.json | 2 +- packages/config/eslint-config/package.json | 2 +- packages/config/typescript-config/package.json | 2 +- packages/config/vitest-config/package.json | 2 +- packages/create-zenstack/package.json | 2 +- packages/dialects/sql.js/package.json | 2 +- packages/language/package.json | 2 +- packages/orm/package.json | 2 +- packages/plugins/policy/package.json | 2 +- packages/schema/package.json | 2 +- packages/sdk/package.json | 2 +- packages/server/package.json | 2 +- packages/testtools/package.json | 2 +- packages/zod/package.json | 2 +- samples/next.js/package.json | 2 +- samples/orm/package.json | 2 +- tests/e2e/package.json | 2 +- tests/regression/package.json | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 7133915b..7eebb630 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zenstack-v3", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "ZenStack", "packageManager": "pnpm@10.20.0", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index ea00dd83..b4585b17 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -3,7 +3,7 @@ "publisher": "zenstack", "displayName": "ZenStack CLI", "description": "FullStack database toolkit with built-in access control and automatic API generation.", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "type": "module", "author": { "name": "ZenStack Team" diff --git a/packages/clients/tanstack-query/package.json b/packages/clients/tanstack-query/package.json index c696e56f..8ef5c9c5 100644 --- a/packages/clients/tanstack-query/package.json +++ b/packages/clients/tanstack-query/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/tanstack-query", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "TanStack Query Client for consuming ZenStack v3's CRUD service", "main": "index.js", "type": "module", diff --git a/packages/common-helpers/package.json b/packages/common-helpers/package.json index 3ba7185a..11c25565 100644 --- a/packages/common-helpers/package.json +++ b/packages/common-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/common-helpers", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "ZenStack Common Helpers", "type": "module", "scripts": { diff --git a/packages/config/eslint-config/package.json b/packages/config/eslint-config/package.json index 0a585e92..c441e7ca 100644 --- a/packages/config/eslint-config/package.json +++ b/packages/config/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/eslint-config", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "type": "module", "private": true, "license": "MIT" diff --git a/packages/config/typescript-config/package.json b/packages/config/typescript-config/package.json index 5af6fcab..6b66b6e6 100644 --- a/packages/config/typescript-config/package.json +++ b/packages/config/typescript-config/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/typescript-config", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "private": true, "license": "MIT" } diff --git a/packages/config/vitest-config/package.json b/packages/config/vitest-config/package.json index a1cfac05..1b9ce13f 100644 --- a/packages/config/vitest-config/package.json +++ b/packages/config/vitest-config/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/vitest-config", "type": "module", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "private": true, "license": "MIT", "exports": { diff --git a/packages/create-zenstack/package.json b/packages/create-zenstack/package.json index 9f7da859..d85f0e88 100644 --- a/packages/create-zenstack/package.json +++ b/packages/create-zenstack/package.json @@ -1,6 +1,6 @@ { "name": "create-zenstack", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "Create a new ZenStack project", "type": "module", "scripts": { diff --git a/packages/dialects/sql.js/package.json b/packages/dialects/sql.js/package.json index 98755790..05d6d05d 100644 --- a/packages/dialects/sql.js/package.json +++ b/packages/dialects/sql.js/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/kysely-sql-js", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "Kysely dialect for sql.js", "type": "module", "scripts": { diff --git a/packages/language/package.json b/packages/language/package.json index dd961324..20f5296d 100644 --- a/packages/language/package.json +++ b/packages/language/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/language", "description": "ZenStack ZModel language specification", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "license": "MIT", "author": "ZenStack Team", "files": [ diff --git a/packages/orm/package.json b/packages/orm/package.json index 0d242e87..1d2232b5 100644 --- a/packages/orm/package.json +++ b/packages/orm/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/orm", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "ZenStack ORM", "type": "module", "scripts": { diff --git a/packages/plugins/policy/package.json b/packages/plugins/policy/package.json index 4c789cc2..8d94f8ce 100644 --- a/packages/plugins/policy/package.json +++ b/packages/plugins/policy/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/plugin-policy", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "ZenStack Policy Plugin", "type": "module", "scripts": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 2bb852f9..82f87dd6 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/schema", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "ZenStack Runtime Schema", "type": "module", "scripts": { diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 04b73c52..5a0cb71c 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/sdk", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "ZenStack SDK", "type": "module", "scripts": { diff --git a/packages/server/package.json b/packages/server/package.json index 82ecccd4..66efbb46 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/server", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "ZenStack automatic CRUD API handlers and server adapters", "type": "module", "scripts": { diff --git a/packages/testtools/package.json b/packages/testtools/package.json index 2e14b479..2a7b5160 100644 --- a/packages/testtools/package.json +++ b/packages/testtools/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/testtools", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "ZenStack Test Tools", "type": "module", "scripts": { diff --git a/packages/zod/package.json b/packages/zod/package.json index 34d10fc9..3cf58ca7 100644 --- a/packages/zod/package.json +++ b/packages/zod/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/zod", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "", "type": "module", "main": "index.js", diff --git a/samples/next.js/package.json b/samples/next.js/package.json index 889e7b19..1040f2f5 100644 --- a/samples/next.js/package.json +++ b/samples/next.js/package.json @@ -1,6 +1,6 @@ { "name": "next.js", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "private": true, "scripts": { "generate": "zen generate --lite", diff --git a/samples/orm/package.json b/samples/orm/package.json index 233b88aa..b13e0520 100644 --- a/samples/orm/package.json +++ b/samples/orm/package.json @@ -1,6 +1,6 @@ { "name": "sample-blog", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "description": "", "main": "index.js", "private": true, diff --git a/tests/e2e/package.json b/tests/e2e/package.json index afaff006..6dae784d 100644 --- a/tests/e2e/package.json +++ b/tests/e2e/package.json @@ -1,6 +1,6 @@ { "name": "e2e", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "private": true, "type": "module", "scripts": { diff --git a/tests/regression/package.json b/tests/regression/package.json index cc479b57..30108081 100644 --- a/tests/regression/package.json +++ b/tests/regression/package.json @@ -1,6 +1,6 @@ { "name": "regression", - "version": "3.0.0-beta.16", + "version": "3.0.0-beta.17", "private": true, "type": "module", "scripts": { From b9294bbb3ae336abc9d76c57e71fe3858a7c38ab Mon Sep 17 00:00:00 2001 From: Yiming Cao Date: Tue, 4 Nov 2025 13:07:21 -0800 Subject: [PATCH 2/2] fix: tsjapi esm compatibility issue (#362) --- packages/clients/tanstack-query/package.json | 1 - packages/server/src/api/rest/index.ts | 22 +++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/clients/tanstack-query/package.json b/packages/clients/tanstack-query/package.json index 8ef5c9c5..caba300f 100644 --- a/packages/clients/tanstack-query/package.json +++ b/packages/clients/tanstack-query/package.json @@ -4,7 +4,6 @@ "description": "TanStack Query Client for consuming ZenStack v3's CRUD service", "main": "index.js", "type": "module", - "private": true, "scripts": { "build": "tsc --noEmit && tsup-node && pnpm test:generate && pnpm test:typecheck", "watch": "tsup-node --watch", diff --git a/packages/server/src/api/rest/index.ts b/packages/server/src/api/rest/index.ts index e0a08dcb..bd65470c 100644 --- a/packages/server/src/api/rest/index.ts +++ b/packages/server/src/api/rest/index.ts @@ -10,7 +10,7 @@ import { import type { FieldDef, ModelDef, SchemaDef } from '@zenstackhq/orm/schema'; import { Decimal } from 'decimal.js'; import SuperJSON from 'superjson'; -import { Linker, Paginator, Relator, Serializer, type SerializerOptions } from 'ts-japi'; +import tsjapi, { type Linker, type Paginator, type Relator, type Serializer, type SerializerOptions } from 'ts-japi'; import UrlPattern from 'url-pattern'; import z from 'zod'; import type { ApiHandler, LogConfig, RequestContext, Response } from '../../types'; @@ -610,7 +610,9 @@ export class RestApiHandler implements ApiHandler this.makeLinkUrl(`/${mappedType}/${resourceId}/${relationship}`)), + document: new tsjapi.Linker(() => + this.makeLinkUrl(`/${mappedType}/${resourceId}/${relationship}`), + ), paginator, }, include, @@ -670,7 +672,7 @@ export class RestApiHandler implements ApiHandler + document: new tsjapi.Linker(() => this.makeLinkUrl(`/${mappedType}/${resourceId}/relationships/${relationship}`), ), paginator, @@ -827,7 +829,7 @@ export class RestApiHandler implements ApiHandler ({ + return new tsjapi.Paginator(() => ({ first: this.replaceURLSearchParams(baseUrl, { 'page[limit]': limit }), last: this.replaceURLSearchParams(baseUrl, { 'page[offset]': (totalPages - 1) * limit, @@ -1110,7 +1112,7 @@ export class RestApiHandler implements ApiHandler + document: new tsjapi.Linker(() => this.makeLinkUrl(`/${mappedType}/${resourceId}/relationships/${relationship}`), ), }, @@ -1308,7 +1310,7 @@ export class RestApiHandler implements ApiHandler + const linker = new tsjapi.Linker((items) => Array.isArray(items) ? this.makeLinkUrl(`/${mappedModel}`) : this.makeLinkUrl(`/${mappedModel}/${this.getId(model, items)}`), @@ -1326,7 +1328,7 @@ export class RestApiHandler implements ApiHandler implements ApiHandler 0) { const mappedModel = this.mapModelName(modelLower); - const relator = new Relator( + const relator = new tsjapi.Relator( async (data) => { return (data as any)[field]; }, @@ -1368,10 +1370,10 @@ export class RestApiHandler implements ApiHandler + related: new tsjapi.Linker((primary) => this.makeLinkUrl(`/${mappedModel}/${this.getId(model, primary)}/${field}`), ), - relationship: new Linker((primary) => + relationship: new tsjapi.Linker((primary) => this.makeLinkUrl( `/${mappedModel}/${this.getId(model, primary)}/relationships/${field}`, ),