@zenstackhq/trpc 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/generator.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DMMF } from '@prisma/generator-helper';
1
+ import type { DMMF } from '@prisma/generator-helper';
2
2
  import { PluginOptions } from '@zenstackhq/sdk';
3
3
  import { Model } from '@zenstackhq/sdk/ast';
4
4
  export declare function generate(model: Model, options: PluginOptions, dmmf: DMMF.Document): Promise<void>;
package/generator.js CHANGED
@@ -72,33 +72,85 @@ function createAppRouter(outDir, modelOperations, hiddenModels, generateModelAct
72
72
  const prismaImport = (0, sdk_1.getPrismaClientImportSpec)(zmodel, path_1.default.dirname(indexFile));
73
73
  appRouter.addImportDeclarations([
74
74
  {
75
- namedImports: ['AnyRootConfig'],
75
+ namedImports: [
76
+ 'type AnyRouter',
77
+ 'type AnyRootConfig',
78
+ 'type CreateRouterInner',
79
+ 'type Procedure',
80
+ 'type ProcedureBuilder',
81
+ 'type ProcedureParams',
82
+ 'type ProcedureRouterRecord',
83
+ 'type ProcedureType',
84
+ ],
76
85
  moduleSpecifier: '@trpc/server',
77
86
  },
78
87
  {
79
- namedImports: ['PrismaClient'],
88
+ namedImports: ['type PrismaClient', 'type Prisma'],
80
89
  moduleSpecifier: prismaImport,
81
90
  },
82
- {
83
- namedImports: ['createRouterFactory', 'AnyRouter'],
84
- moduleSpecifier: '@trpc/server/dist/core/router',
85
- },
86
- {
87
- namedImports: ['createBuilder'],
88
- moduleSpecifier: '@trpc/server/dist/core/internals/procedureBuilder',
89
- },
91
+ { defaultImport: 'z', moduleSpecifier: 'zod', isTypeOnly: true },
90
92
  ]);
91
93
  appRouter.addStatements(`
94
+ ${ /** to be used by the other routers without making a bigger commit */''}
95
+ export { PrismaClient } from '${prismaImport}';
96
+
92
97
  export type BaseConfig = AnyRootConfig;
93
98
 
94
- export type RouterFactory<Config extends BaseConfig> = ReturnType<
95
- typeof createRouterFactory<Config>
96
- >;
97
-
98
- export type ProcBuilder<Config extends BaseConfig> = ReturnType<
99
- typeof createBuilder<Config>
100
- >;
99
+ export type RouterFactory<Config extends BaseConfig> = <
100
+ ProcRouterRecord extends ProcedureRouterRecord
101
+ >(
102
+ procedures: ProcRouterRecord
103
+ ) => CreateRouterInner<Config, ProcRouterRecord>;
104
+
105
+ ${
106
+ /** this is needed in order to prevent type errors between a procedure and a middleware-extended procedure */ ''}
107
+ export type ProcBuilder<Config extends BaseConfig> = ProcedureBuilder<{
108
+ _config: Config;
109
+ _ctx_out: Config['$types']['ctx'];
110
+ _input_in: any;
111
+ _input_out: any;
112
+ _output_in: any;
113
+ _output_out: any;
114
+ _meta: Config['$types']['meta'];
115
+ }>;
116
+
117
+ type ExtractParamsFromProcBuilder<Builder extends ProcedureBuilder<any>> =
118
+ Builder extends ProcedureBuilder<infer P> ? P : never;
101
119
 
120
+ type FromPromise<P extends Promise<any>> = P extends Promise<infer T>
121
+ ? T
122
+ : never;
123
+
124
+ ${ /** workaround to avoid creating 'typeof unsetMarker & object' on the procedure output */''}
125
+ type Join<A, B> = A extends symbol ? B : A & B;
126
+
127
+ ${
128
+ /** you can name it whatever you want, but this is to make sure that
129
+ the types from the middleware and the procedure are correctly merged */ ''}
130
+ export type ProcReturns<
131
+ PType extends ProcedureType,
132
+ PBuilder extends ProcBuilder<BaseConfig>,
133
+ ZType extends z.ZodType,
134
+ PPromise extends Prisma.PrismaPromise<any>
135
+ > = Procedure<
136
+ PType,
137
+ ProcedureParams<
138
+ ExtractParamsFromProcBuilder<PBuilder>["_config"],
139
+ ExtractParamsFromProcBuilder<PBuilder>["_ctx_out"],
140
+ Join<ExtractParamsFromProcBuilder<PBuilder>["_input_in"], z.infer<ZType>>,
141
+ Join<ExtractParamsFromProcBuilder<PBuilder>["_input_out"], z.infer<ZType>>,
142
+ Join<
143
+ ExtractParamsFromProcBuilder<PBuilder>["_output_in"],
144
+ FromPromise<PPromise>
145
+ >,
146
+ Join<
147
+ ExtractParamsFromProcBuilder<PBuilder>["_output_out"],
148
+ FromPromise<PPromise>
149
+ >,
150
+ ExtractParamsFromProcBuilder<PBuilder>["_meta"]
151
+ >
152
+ >;
153
+
102
154
  export function db(ctx: any) {
103
155
  if (!ctx.prisma) {
104
156
  throw new Error('Missing "prisma" field in trpc context');
@@ -110,10 +162,10 @@ function createAppRouter(outDir, modelOperations, hiddenModels, generateModelAct
110
162
  const filteredModelOperations = modelOperations.filter((mo) => !hiddenModels.includes(mo.model));
111
163
  appRouter
112
164
  .addFunction({
113
- name: 'createRouter<Config extends BaseConfig>',
165
+ name: 'createRouter<Router extends RouterFactory<BaseConfig>, Proc extends ProcBuilder<BaseConfig>>',
114
166
  parameters: [
115
- { name: 'router', type: 'RouterFactory<Config>' },
116
- { name: 'procedure', type: 'ProcBuilder<Config>' },
167
+ { name: 'router', type: 'Router' },
168
+ { name: 'procedure', type: 'Proc' },
117
169
  ],
118
170
  isExported: true,
119
171
  })
@@ -122,12 +174,14 @@ function createAppRouter(outDir, modelOperations, hiddenModels, generateModelAct
122
174
  writer.block(() => {
123
175
  for (const modelOperation of filteredModelOperations) {
124
176
  const { model } = modelOperation, operations = __rest(modelOperation, ["model"]);
177
+ // "count" operation is missing from Prisma DMMF, add it here
178
+ operations.count = `count${model}`;
125
179
  generateModelCreateRouter(project_1.project, model, operations, outDir, generateModelActions, generateClientHelpers, zmodel, zodSchemasImport);
126
180
  appRouter.addImportDeclaration({
127
181
  defaultImport: `create${model}Router`,
128
182
  moduleSpecifier: `./${model}.router`,
129
183
  });
130
- writer.writeLine(`${(0, lower_case_first_1.lowerCaseFirst)(model)}: create${model}Router<Config>(router, procedure),`);
184
+ writer.writeLine(`${(0, lower_case_first_1.lowerCaseFirst)(model)}: create${model}Router<Router, Proc>(router, procedure),`);
131
185
  }
132
186
  });
133
187
  writer.write(');');
@@ -181,20 +235,27 @@ function generateModelCreateRouter(project, model, operations, outputDir, genera
181
235
  modelRouter.addStatements('/* eslint-disable */');
182
236
  modelRouter.addImportDeclarations([
183
237
  {
184
- namedImports: ['type RouterFactory', 'type ProcBuilder', 'type BaseConfig', 'db'],
238
+ namedImports: [
239
+ 'type RouterFactory',
240
+ 'type ProcBuilder',
241
+ 'type BaseConfig',
242
+ 'type ProcReturns',
243
+ 'type PrismaClient',
244
+ 'db',
245
+ ],
185
246
  moduleSpecifier: '.',
186
247
  },
187
248
  ]);
188
- (0, helpers_1.generateRouterSchemaImports)(modelRouter, model, zodSchemasImport);
249
+ (0, helpers_1.generateRouterSchemaImport)(modelRouter, zodSchemasImport);
189
250
  (0, helpers_1.generateHelperImport)(modelRouter);
190
251
  if (generateClientHelpers) {
191
252
  (0, helpers_1.generateRouterTypingImports)(modelRouter, zmodel);
192
253
  }
193
254
  const createRouterFunc = modelRouter.addFunction({
194
- name: 'createRouter<Config extends BaseConfig>',
255
+ name: 'createRouter<Router extends RouterFactory<BaseConfig>, Proc extends ProcBuilder<BaseConfig>>',
195
256
  parameters: [
196
- { name: 'router', type: 'RouterFactory<Config>' },
197
- { name: 'procedure', type: 'ProcBuilder<Config>' },
257
+ { name: 'router', type: 'Router' },
258
+ { name: 'procedure', type: 'Proc' },
198
259
  ],
199
260
  isExported: true,
200
261
  isDefaultExport: true,
@@ -222,7 +283,7 @@ function generateModelCreateRouter(project, model, operations, outputDir, genera
222
283
  if (opNameWithModel &&
223
284
  inputType &&
224
285
  (!generateModelActions || generateModelActions.includes(generateOpName))) {
225
- (0, helpers_1.generateProcedure)(funcWriter, generateOpName, inputType, model, baseOpType);
286
+ (0, helpers_1.generateProcedure)(funcWriter, generateOpName, (0, upper_case_first_1.upperCaseFirst)(inputType), model, baseOpType);
226
287
  if (routerTypingStructure) {
227
288
  (_a = routerTypingStructure.properties) === null || _a === void 0 ? void 0 : _a.push({
228
289
  kind: ts_morph_1.StructureKind.PropertySignature,
package/generator.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/helpers.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DMMF } from '@prisma/generator-helper';
1
+ import type { DMMF } from '@prisma/generator-helper';
2
2
  import { Model } from '@zenstackhq/sdk/ast';
3
3
  import { CodeBlockWriter, SourceFile } from 'ts-morph';
4
4
  export declare function generateProcedure(writer: CodeBlockWriter, opType: string, typeName: string, modelName: string, baseOpType: string): void;
@@ -7,7 +7,7 @@ export declare function generateProcedure(writer: CodeBlockWriter, opType: strin
7
7
  */
8
8
  export declare function generateRouterTyping(writer: CodeBlockWriter, opType: string, modelName: string, baseOpType: string): void;
9
9
  export declare function generateRouterTypingImports(sourceFile: SourceFile, model: Model): void;
10
- export declare function generateRouterSchemaImports(sourceFile: SourceFile, name: string, zodSchemasImport: string): void;
10
+ export declare function generateRouterSchemaImport(sourceFile: SourceFile, zodSchemasImport: string): void;
11
11
  export declare function generateHelperImport(sourceFile: SourceFile): void;
12
12
  export declare const getInputSchemaByOpName: (opName: string, modelName: string) => string | undefined;
13
13
  export declare const getProcedureTypeByOpName: (opName: string) => string | undefined;
package/helpers.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveModelsComments = exports.getProcedureTypeByOpName = exports.getInputSchemaByOpName = exports.generateHelperImport = exports.generateRouterSchemaImports = exports.generateRouterTypingImports = exports.generateRouterTyping = exports.generateProcedure = void 0;
3
+ exports.resolveModelsComments = exports.getProcedureTypeByOpName = exports.getInputSchemaByOpName = exports.generateHelperImport = exports.generateRouterSchemaImport = exports.generateRouterTypingImports = exports.generateRouterTyping = exports.generateProcedure = void 0;
4
4
  const sdk_1 = require("@zenstackhq/sdk");
5
5
  const lower_case_first_1 = require("lower-case-first");
6
6
  const upper_case_first_1 = require("upper-case-first");
@@ -11,13 +11,23 @@ function generateProcedure(writer, opType, typeName, modelName, baseOpType) {
11
11
  if (procType === 'query') {
12
12
  // the cast "as any" is to circumvent a TS compiler misfired error in certain cases
13
13
  writer.write(`
14
- ${opType}: procedure.input(${typeName}).query(({ctx, input}) => checkRead(db(ctx).${(0, lower_case_first_1.lowerCaseFirst)(modelName)}.${prismaMethod}(input as any))),
14
+ ${opType}: procedure.input(${typeName}).query(({ctx, input}) => checkRead(db(ctx).${(0, lower_case_first_1.lowerCaseFirst)(modelName)}.${prismaMethod}(input as any))) as ProcReturns<
15
+ "query",
16
+ Proc,
17
+ (typeof $Schema.${(0, upper_case_first_1.upperCaseFirst)(modelName)}InputSchema)["${opType.replace('OrThrow', '')}"],
18
+ ReturnType<PrismaClient["${(0, lower_case_first_1.lowerCaseFirst)(modelName)}"]["${opType}"]>
19
+ >,
15
20
  `);
16
21
  }
17
22
  else if (procType === 'mutation') {
18
23
  // the cast "as any" is to circumvent a TS compiler misfired error in certain cases
19
24
  writer.write(`
20
- ${opType}: procedure.input(${typeName}).mutation(async ({ctx, input}) => checkMutate(db(ctx).${(0, lower_case_first_1.lowerCaseFirst)(modelName)}.${prismaMethod}(input as any))),
25
+ ${opType}: procedure.input(${typeName}).mutation(async ({ctx, input}) => checkMutate(db(ctx).${(0, lower_case_first_1.lowerCaseFirst)(modelName)}.${prismaMethod}(input as any))) as ProcReturns<
26
+ "mutation",
27
+ Proc,
28
+ (typeof $Schema.${(0, upper_case_first_1.upperCaseFirst)(modelName)}InputSchema)["${opType.replace('OrThrow', '')}"],
29
+ ReturnType<PrismaClient["${(0, lower_case_first_1.lowerCaseFirst)(modelName)}"]["${opType}"]>
30
+ >,
21
31
  `);
22
32
  }
23
33
  }
@@ -77,10 +87,10 @@ function getPrismaOperationTypes(model, operation) {
77
87
  break;
78
88
  case 'count':
79
89
  argsType = `Prisma.Subset<T, ${genericBase}>`;
80
- resultType = `'select' extends keyof T'
90
+ resultType = `'select' extends keyof T
81
91
  ? T['select'] extends true
82
92
  ? number
83
- : GetScalarType<T['select'], ${capModel}CountAggregateOutputType>
93
+ : Prisma.GetScalarType<T['select'], Prisma.${capModel}CountAggregateOutputType>
84
94
  : number`;
85
95
  break;
86
96
  case 'aggregate':
@@ -97,7 +107,7 @@ function getPrismaOperationTypes(model, operation) {
97
107
  ? { orderBy: Prisma.${capModel}GroupByArgs['orderBy'] }
98
108
  : { orderBy?: Prisma.${capModel}GroupByArgs['orderBy'] },
99
109
  OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
100
- ByFields extends Prisma.TupleToUnion<T['by']>,
110
+ ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
101
111
  ByValid extends Prisma.Has<ByFields, OrderFields>,
102
112
  HavingFields extends Prisma.GetHavingFields<T['having']>,
103
113
  HavingValid extends Prisma.Has<ByFields, HavingFields>,
@@ -208,61 +218,65 @@ function generateRouterTypingImports(sourceFile, model) {
208
218
  }
209
219
  exports.generateRouterTypingImports = generateRouterTypingImports;
210
220
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
211
- function generateRouterSchemaImports(sourceFile, name, zodSchemasImport) {
212
- sourceFile.addStatements(`import { ${name}InputSchema } from '${zodSchemasImport}/input';`);
221
+ function generateRouterSchemaImport(sourceFile, zodSchemasImport) {
222
+ sourceFile.addStatements(`import $Schema from '${zodSchemasImport}/input';`);
213
223
  }
214
- exports.generateRouterSchemaImports = generateRouterSchemaImports;
224
+ exports.generateRouterSchemaImport = generateRouterSchemaImport;
215
225
  function generateHelperImport(sourceFile) {
216
226
  sourceFile.addStatements(`import { checkRead, checkMutate } from '../helper';`);
217
227
  }
218
228
  exports.generateHelperImport = generateHelperImport;
219
229
  const getInputSchemaByOpName = (opName, modelName) => {
220
230
  let inputType;
231
+ const capModelName = (0, upper_case_first_1.upperCaseFirst)(modelName);
221
232
  switch (opName) {
222
233
  case 'findUnique':
223
- inputType = `${modelName}InputSchema.findUnique`;
234
+ inputType = `$Schema.${capModelName}InputSchema.findUnique`;
224
235
  break;
225
236
  case 'findFirst':
226
- inputType = `${modelName}InputSchema.findFirst`;
237
+ inputType = `$Schema.${capModelName}InputSchema.findFirst`;
227
238
  break;
228
239
  case 'findMany':
229
- inputType = `${modelName}InputSchema.findMany`;
240
+ inputType = `$Schema.${capModelName}InputSchema.findMany`;
230
241
  break;
231
242
  case 'findRaw':
232
- inputType = `${modelName}InputSchema.findRawObject`;
243
+ inputType = `$Schema.${capModelName}InputSchema.findRawObject`;
233
244
  break;
234
245
  case 'createOne':
235
- inputType = `${modelName}InputSchema.create`;
246
+ inputType = `$Schema.${capModelName}InputSchema.create`;
236
247
  break;
237
248
  case 'createMany':
238
- inputType = `${modelName}InputSchema.createMany`;
249
+ inputType = `$Schema.${capModelName}InputSchema.createMany`;
239
250
  break;
240
251
  case 'deleteOne':
241
- inputType = `${modelName}InputSchema.delete`;
252
+ inputType = `$Schema.${capModelName}InputSchema.delete`;
242
253
  break;
243
254
  case 'updateOne':
244
- inputType = `${modelName}InputSchema.update`;
255
+ inputType = `$Schema.${capModelName}InputSchema.update`;
245
256
  break;
246
257
  case 'deleteMany':
247
- inputType = `${modelName}InputSchema.deleteMany`;
258
+ inputType = `$Schema.${capModelName}InputSchema.deleteMany`;
248
259
  break;
249
260
  case 'updateMany':
250
- inputType = `${modelName}InputSchema.updateMany`;
261
+ inputType = `$Schema.${capModelName}InputSchema.updateMany`;
251
262
  break;
252
263
  case 'upsertOne':
253
- inputType = `${modelName}InputSchema.upsert`;
264
+ inputType = `$Schema.${capModelName}InputSchema.upsert`;
254
265
  break;
255
266
  case 'aggregate':
256
- inputType = `${modelName}InputSchema.aggregate`;
267
+ inputType = `$Schema.${capModelName}InputSchema.aggregate`;
257
268
  break;
258
269
  case 'aggregateRaw':
259
- inputType = `${modelName}InputSchema.aggregateRawObject`;
270
+ inputType = `$Schema.${capModelName}InputSchema.aggregateRawObject`;
260
271
  break;
261
272
  case 'groupBy':
262
- inputType = `${modelName}InputSchema.groupBy`;
273
+ inputType = `$Schema.${capModelName}InputSchema.groupBy`;
274
+ break;
275
+ case 'count':
276
+ inputType = `$Schema.${capModelName}InputSchema.count`;
263
277
  break;
264
278
  default:
265
- console.log('getInputTypeByOpName: ', { opName, modelName });
279
+ break;
266
280
  }
267
281
  return inputType;
268
282
  };
@@ -277,6 +291,7 @@ const getProcedureTypeByOpName = (opName) => {
277
291
  case 'aggregate':
278
292
  case 'aggregateRaw':
279
293
  case 'groupBy':
294
+ case 'count':
280
295
  procType = 'query';
281
296
  break;
282
297
  case 'createOne':
package/helpers.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DMMF } from '@prisma/generator-helper';
1
+ import type { DMMF } from '@prisma/generator-helper';
2
2
  import { PluginOptions } from '@zenstackhq/sdk';
3
3
  import { Model } from '@zenstackhq/sdk/ast';
4
4
  export declare const name = "tRPC";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zenstackhq/trpc",
3
3
  "displayName": "ZenStack plugin for tRPC",
4
- "version": "1.0.0-beta.8",
4
+ "version": "1.0.0",
5
5
  "description": "ZenStack plugin for tRPC",
6
6
  "main": "index.js",
7
7
  "repository": {
@@ -12,12 +12,13 @@
12
12
  "directory": "dist",
13
13
  "linkDirectory": true
14
14
  },
15
- "keywords": [],
15
+ "keywords": [
16
+ "trpc"
17
+ ],
16
18
  "author": "ZenStack Team",
17
19
  "license": "MIT",
18
20
  "dependencies": {
19
- "@prisma/generator-helper": "4.10.0",
20
- "@prisma/internals": "4.10.0",
21
+ "@prisma/generator-helper": "^5.0.0",
21
22
  "change-case": "^4.1.2",
22
23
  "lower-case-first": "^2.0.2",
23
24
  "prettier": "^2.8.3",
@@ -25,14 +26,14 @@
25
26
  "tslib": "^2.4.1",
26
27
  "upper-case-first": "^2.0.2",
27
28
  "zod": "3.21.1",
28
- "@zenstackhq/sdk": "1.0.0-beta.8"
29
+ "@zenstackhq/sdk": "1.0.0"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@trpc/next": "^10.32.0",
32
33
  "@trpc/react-query": "^10.32.0",
33
34
  "@trpc/server": "^10.32.0",
34
35
  "@types/jest": "^29.5.0",
35
- "@types/lower-case-first": "^1.0.1",
36
+ "@types/node": "^18.0.0",
36
37
  "@types/prettier": "^2.7.2",
37
38
  "copyfiles": "^2.4.1",
38
39
  "jest": "^29.5.0",
@@ -40,13 +41,14 @@
40
41
  "rimraf": "^3.0.2",
41
42
  "ts-jest": "^29.0.5",
42
43
  "typescript": "^4.9.4",
43
- "@zenstackhq/testtools": "1.0.0-beta.8"
44
+ "@zenstackhq/testtools": "1.0.0"
44
45
  },
45
46
  "scripts": {
46
47
  "clean": "rimraf dist",
47
48
  "build": "pnpm lint && pnpm clean && tsc && copyfiles ./package.json ./README.md ./LICENSE 'res/**/*' dist && pnpm pack dist --pack-destination '../../../../.build'",
48
49
  "watch": "tsc --watch",
49
50
  "lint": "eslint src --ext ts",
51
+ "test": "ZENSTACK_TEST=1 jest",
50
52
  "publish-dev": "pnpm publish --tag dev"
51
53
  }
52
54
  }