Skip to content

Commit bf9be5c

Browse files
authored
merge dev to main (v2.14.0) (#2086)
2 parents 2f69aa8 + 002e132 commit bf9be5c

File tree

36 files changed

+479
-417
lines changed

36 files changed

+479
-417
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "zenstack-monorepo",
3-
"version": "2.13.3",
3+
"version": "2.14.0",
44
"description": "",
55
"scripts": {
66
"build": "pnpm -r --filter=\"!./packages/ide/*\" build",

packages/ide/jetbrains/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ plugins {
99
}
1010

1111
group = "dev.zenstack"
12-
version = "2.13.3"
12+
version = "2.14.0"
1313

1414
repositories {
1515
mavenCentral()

packages/ide/jetbrains/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jetbrains",
3-
"version": "2.13.3",
3+
"version": "2.14.0",
44
"displayName": "ZenStack JetBrains IDE Plugin",
55
"description": "ZenStack JetBrains IDE plugin",
66
"homepage": "https://zenstack.dev",

packages/language/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@zenstackhq/language",
3-
"version": "2.13.3",
3+
"version": "2.14.0",
44
"displayName": "ZenStack modeling language compiler",
55
"description": "ZenStack modeling language compiler",
66
"homepage": "https://zenstack.dev",

packages/misc/redwood/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/redwood",
33
"displayName": "ZenStack RedwoodJS Integration",
4-
"version": "2.13.3",
4+
"version": "2.14.0",
55
"description": "CLI and runtime for integrating ZenStack with RedwoodJS projects.",
66
"repository": {
77
"type": "git",

packages/plugins/openapi/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/openapi",
33
"displayName": "ZenStack Plugin and Runtime for OpenAPI",
4-
"version": "2.13.3",
4+
"version": "2.14.0",
55
"description": "ZenStack plugin and runtime supporting OpenAPI",
66
"main": "index.js",
77
"repository": {

packages/plugins/swr/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/swr",
33
"displayName": "ZenStack plugin for generating SWR hooks",
4-
"version": "2.13.3",
4+
"version": "2.14.0",
55
"description": "ZenStack plugin for generating SWR hooks",
66
"main": "index.js",
77
"repository": {

packages/plugins/tanstack-query/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/tanstack-query",
33
"displayName": "ZenStack plugin for generating tanstack-query hooks",
4-
"version": "2.13.3",
4+
"version": "2.14.0",
55
"description": "ZenStack plugin for generating tanstack-query hooks",
66
"main": "index.js",
77
"exports": {

packages/plugins/trpc/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/trpc",
33
"displayName": "ZenStack plugin for tRPC",
4-
"version": "2.13.3",
4+
"version": "2.14.0",
55
"description": "ZenStack plugin for tRPC",
66
"main": "index.js",
77
"repository": {

packages/plugins/trpc/tests/projects/nuxt-trpc-v10/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"postinstall": "nuxt prepare"
1111
},
1212
"dependencies": {
13-
"@prisma/client": "6.5.x",
13+
"@prisma/client": "6.6.x",
1414
"@trpc/client": "^10.45.2",
1515
"@trpc/server": "^10.45.2",
1616
"nuxt": "^3.14.1592",
@@ -21,7 +21,7 @@
2121
},
2222
"devDependencies": {
2323
"esbuild": "^0.24.0",
24-
"prisma": "6.5.x",
24+
"prisma": "6.6.x",
2525
"typescript": "^5.6.2",
2626
"vue-tsc": "^2.1.10"
2727
}

packages/plugins/trpc/tests/projects/nuxt-trpc-v11/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"postinstall": "nuxt prepare"
1111
},
1212
"dependencies": {
13-
"@prisma/client": "6.5.x",
13+
"@prisma/client": "6.6.x",
1414
"@trpc/client": "^11.0.0-rc.563",
1515
"@trpc/server": "^11.0.0-rc.563",
1616
"nuxt": "^3.14.1592",
@@ -21,7 +21,7 @@
2121
},
2222
"devDependencies": {
2323
"esbuild": "^0.24.0",
24-
"prisma": "6.5.x",
24+
"prisma": "6.6s.x",
2525
"typescript": "^5.6.2",
2626
"vue-tsc": "^2.1.10"
2727
}

packages/plugins/trpc/tests/projects/t3-trpc-v11/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"start": "next start"
1616
},
1717
"dependencies": {
18-
"@prisma/client": "6.5.x",
18+
"@prisma/client": "6.6.x",
1919
"@t3-oss/env-nextjs": "^0.10.1",
2020
"@tanstack/react-query": "^5.50.0",
2121
"@trpc/client": "^11.0.0-rc.446",
@@ -39,7 +39,7 @@
3939
"@typescript-eslint/parser": "^8.1.0",
4040
"eslint": "^8.57.0",
4141
"eslint-config-next": "^14.2.4",
42-
"prisma": "6.5.x",
42+
"prisma": "6.6.x",
4343
"typescript": "^5.5.3"
4444
},
4545
"ct3aMetadata": {

packages/runtime/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/runtime",
33
"displayName": "ZenStack Runtime Library",
4-
"version": "2.13.3",
4+
"version": "2.14.0",
55
"description": "Runtime of ZenStack for both client-side and server-side environments.",
66
"repository": {
77
"type": "git",
@@ -116,7 +116,7 @@
116116
"zod-validation-error": "^1.5.0"
117117
},
118118
"peerDependencies": {
119-
"@prisma/client": "5.0.0 - 6.5.x"
119+
"@prisma/client": "5.0.0 - 6.6.x"
120120
},
121121
"author": {
122122
"name": "ZenStack Team"

packages/schema/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"publisher": "zenstack",
44
"displayName": "ZenStack Language Tools",
55
"description": "FullStack enhancement for Prisma ORM: seamless integration from database to UI",
6-
"version": "2.13.3",
6+
"version": "2.14.0",
77
"author": {
88
"name": "ZenStack Team"
99
},
@@ -123,10 +123,10 @@
123123
"zod-validation-error": "^1.5.0"
124124
},
125125
"peerDependencies": {
126-
"prisma": "5.0.0 - 6.5.x"
126+
"prisma": "5.0.0 - 6.6.x"
127127
},
128128
"devDependencies": {
129-
"@prisma/client": "6.5.x",
129+
"@prisma/client": "6.6.x",
130130
"@types/async-exit-hook": "^2.0.0",
131131
"@types/pluralize": "^0.0.29",
132132
"@types/semver": "^7.3.13",

packages/schema/src/plugins/enhancer/enhance/index.ts

+11-13
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { ReadonlyDeep } from '@prisma/generator-helper';
21
import { DELEGATE_AUX_RELATION_PREFIX } from '@zenstackhq/runtime';
32
import {
43
PluginError,
@@ -114,21 +113,18 @@ export class EnhancerGenerator {
114113

115114
if (this.needsLogicalClient) {
116115
prismaTypesFixed = true;
117-
resultPrismaTypeImport = `${LOGICAL_CLIENT_GENERATION_PATH}/index-fixed`;
116+
resultPrismaTypeImport = LOGICAL_CLIENT_GENERATION_PATH;
118117
const result = await this.generateLogicalPrisma();
119118
dmmf = result.dmmf;
120119
}
121120

122121
// reexport PrismaClient types (original or fixed)
123-
const modelsDts = this.project.createSourceFile(
124-
path.join(this.outDir, 'models.d.ts'),
122+
const modelsTs = this.project.createSourceFile(
123+
path.join(this.outDir, 'models.ts'),
125124
`export * from '${resultPrismaTypeImport}';`,
126125
{ overwrite: true }
127126
);
128-
await modelsDts.save();
129-
130-
// reexport values from the original PrismaClient (enums, etc.)
131-
fs.writeFileSync(path.join(this.outDir, 'models.js'), `module.exports = require('${prismaImport}');`);
127+
this.saveSourceFile(modelsTs);
132128

133129
const authDecl = getAuthDecl(getDataModelAndTypeDefs(this.model));
134130
const authTypes = authDecl ? generateAuthType(this.model, authDecl) : '';
@@ -177,7 +173,7 @@ ${
177173
return {
178174
dmmf,
179175
newPrismaClientDtsPath: prismaTypesFixed
180-
? path.resolve(this.outDir, LOGICAL_CLIENT_GENERATION_PATH, 'index-fixed.d.ts')
176+
? path.resolve(this.outDir, LOGICAL_CLIENT_GENERATION_PATH, 'index.d.ts')
181177
: undefined,
182178
};
183179
}
@@ -422,7 +418,7 @@ export type Enhanced<Client> =
422418
return dmmf;
423419
}
424420

425-
private shouldBeOptional(field: ReadonlyDeep<DMMF.SchemaArg>, dataModel: DataModel) {
421+
private shouldBeOptional(field: DMMF.SchemaArg, dataModel: DataModel) {
426422
const dmField = dataModel.fields.find((f) => f.name === field.name);
427423
if (!dmField) {
428424
return false;
@@ -457,7 +453,7 @@ export type Enhanced<Client> =
457453
}
458454

459455
private async processClientTypes(prismaClientDir: string) {
460-
// make necessary updates to the generated `index.d.ts` file and save it as `index-fixed.d.ts`
456+
// make necessary updates to the generated `index.d.ts` file and overwrite it
461457
const project = new Project();
462458
const sf = project.addSourceFileAtPath(path.join(prismaClientDir, 'index.d.ts'));
463459

@@ -472,8 +468,7 @@ export type Enhanced<Client> =
472468
}
473469
});
474470

475-
// transform index.d.ts and save it into a new file (better perf than in-line editing)
476-
471+
// transform index.d.ts and write it into a new file (better perf than in-line editing)
477472
const sfNew = project.createSourceFile(path.join(prismaClientDir, 'index-fixed.d.ts'), undefined, {
478473
overwrite: true,
479474
});
@@ -483,6 +478,9 @@ export type Enhanced<Client> =
483478
this.generateExtraTypes(sfNew);
484479

485480
sfNew.formatText();
481+
482+
// Save the transformed file over the original
483+
await sfNew.move(sf.getFilePath(), { overwrite: true });
486484
await sfNew.save();
487485
}
488486

packages/schema/src/plugins/enhancer/policy/expression-writer.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
} from '@zenstackhq/language/ast';
2222
import { DELEGATE_AUX_RELATION_PREFIX, PolicyOperationKind } from '@zenstackhq/runtime';
2323
import {
24+
CodeWriter,
2425
ExpressionContext,
2526
getFunctionExpressionContext,
2627
getIdFields,
@@ -37,7 +38,6 @@ import {
3738
} from '@zenstackhq/sdk';
3839
import { lowerCaseFirst } from 'lower-case-first';
3940
import invariant from 'tiny-invariant';
40-
import { CodeBlockWriter } from 'ts-morph';
4141
import { name } from '..';
4242
import { isCheckInvocation } from '../../../utils/ast-utils';
4343

@@ -77,7 +77,7 @@ export class ExpressionWriter {
7777
/**
7878
* Constructs a new ExpressionWriter
7979
*/
80-
constructor(private readonly writer: CodeBlockWriter, private readonly options: ExpressionWriterOptions) {
80+
constructor(private readonly writer: CodeWriter, private readonly options: ExpressionWriterOptions) {
8181
this.plainExprBuilder = new TypeScriptExpressionTransformer({
8282
context: ExpressionContext.AccessPolicy,
8383
isPostGuard: this.options.isPostGuard,

0 commit comments

Comments
 (0)