prisma-zod-generator 0.1.4 → 0.3.1

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/README.md CHANGED
@@ -15,12 +15,23 @@ Automatically generate [Zod](https://github.com/colinhacks/zod) schemas from you
15
15
 
16
16
  ## Table of Contents
17
17
 
18
+ - [Supported Prisma Versions](#supported-prisma-versions)
18
19
  - [Installation](#installing)
19
20
  - [Usage](#usage)
20
21
  - [Additional Options](#additional-options)
21
22
  - [Known Issues](#known-issues)
22
23
 
23
- ## Installation
24
+ # Supported Prisma Versions
25
+
26
+ ### Prisma 4
27
+
28
+ - 0.3.0 and higher
29
+
30
+ ### Prisma 2/3
31
+
32
+ - 0.2.0 and lower
33
+
34
+ # Installation
24
35
 
25
36
  Using npm:
26
37
 
@@ -1,45 +1,23 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
6
  exports.generate = void 0;
30
- const sdk_1 = require("@prisma/sdk");
7
+ const internals_1 = require("@prisma/internals");
31
8
  const removeDir_1 = __importDefault(require("./utils/removeDir"));
32
9
  const fs_1 = require("fs");
33
10
  const transformer_1 = __importDefault(require("./transformer"));
34
11
  async function generate(options) {
35
12
  var _a, _b, _c;
36
- const outputDir = (0, sdk_1.parseEnvValue)(options.generator.output);
13
+ const outputDir = (0, internals_1.parseEnvValue)(options.generator.output);
37
14
  await fs_1.promises.mkdir(outputDir, { recursive: true });
38
15
  await (0, removeDir_1.default)(outputDir, true);
39
- const prismaClientProvider = options.otherGenerators.find((it) => (0, sdk_1.parseEnvValue)(it.provider) === 'prisma-client-js');
40
- const prismaClientPath = (0, sdk_1.parseEnvValue)(prismaClientProvider === null || prismaClientProvider === void 0 ? void 0 : prismaClientProvider.output);
41
- const prismaClientDmmf = (await Promise.resolve().then(() => __importStar(require(prismaClientPath))))
42
- .dmmf;
16
+ const prismaClientProvider = options.otherGenerators.find((it) => (0, internals_1.parseEnvValue)(it.provider) === 'prisma-client-js');
17
+ const prismaClientDmmf = await (0, internals_1.getDMMF)({
18
+ datamodel: options.datamodel,
19
+ previewFeatures: prismaClientProvider === null || prismaClientProvider === void 0 ? void 0 : prismaClientProvider.previewFeatures,
20
+ });
43
21
  transformer_1.default.setOutputPath(outputDir);
44
22
  const enumTypes = [
45
23
  ...prismaClientDmmf.schema.enumTypes.prisma,
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-generator.js","sourceRoot":"","sources":["../src/prisma-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAA4C;AAE5C,kEAA0C;AAC1C,2BAAoC;AACpC,gEAAwC;AAEjC,KAAK,UAAU,QAAQ,CAAC,OAAyB;;IACtD,MAAM,SAAS,GAAG,IAAA,mBAAa,EAAC,OAAO,CAAC,SAAS,CAAC,MAAkB,CAAC,CAAC;IACtE,MAAM,aAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,IAAA,mBAAS,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEjC,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CACvD,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,mBAAa,EAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAC1D,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAA,mBAAa,EACpC,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAkB,CACzC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAC,wDAAa,gBAAgB,GAAC,CAAC;SACtD,IAA2B,CAAC;IAE/B,qBAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG;QAChB,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;QAC3C,GAAG,CAAC,MAAA,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,mCAAI,EAAE,CAAC;KACnD,CAAC;IACF,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,qBAAW,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,qBAAW,CAAC;QAC/B,SAAS;KACV,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAElC,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAC1D,CAAC,IAAI,CAAC,EACN;QACA,MAAM,MAAM,GAAG,MAAA,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAA,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,qBAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC;KAChC;IAED,MAAM,GAAG,GAAG,IAAI,qBAAW,CAAC;QAC1B,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,eAAe;KAC3D,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAChC,CAAC;AA1CD,4BA0CC"}
1
+ {"version":3,"file":"prisma-generator.js","sourceRoot":"","sources":["../src/prisma-generator.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA2D;AAE3D,kEAA0C;AAC1C,2BAAoC;AACpC,gEAAwC;AAEjC,KAAK,UAAU,QAAQ,CAAC,OAAyB;;IACtD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,SAAS,CAAC,MAAkB,CAAC,CAAC;IACtE,MAAM,aAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,IAAA,mBAAS,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEjC,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CACvD,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,yBAAa,EAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAC1D,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,IAAA,mBAAO,EAAC;QACrC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,eAAe,EAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,eAAe;KACvD,CAAC,CAAC;IAEH,qBAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG;QAChB,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;QAC3C,GAAG,CAAC,MAAA,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,mCAAI,EAAE,CAAC;KACnD,CAAC;IACF,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,qBAAW,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,qBAAW,CAAC;QAC/B,SAAS;KACV,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAElC,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAC1D,CAAC,IAAI,CAAC,EACN;QACA,MAAM,MAAM,GAAG,MAAA,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAA,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,qBAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC;KAChC;IAED,MAAM,GAAG,GAAG,IAAI,qBAAW,CAAC;QAC1B,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,eAAe;KAC3D,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAChC,CAAC;AA1CD,4BA0CC"}
@@ -1,53 +1,36 @@
1
- import { DMMF as PrismaDMMF } from '@prisma/client/runtime';
1
+ import type { DMMF as PrismaDMMF } from '@prisma/generator-helper';
2
+ import { TransformerParams } from './types';
2
3
  export default class Transformer {
3
- name?: string;
4
- fields?: PrismaDMMF.SchemaArg[];
5
- schemaImports?: Set<string>;
6
- modelOperations?: PrismaDMMF.ModelMapping[];
7
- enumTypes?: PrismaDMMF.SchemaEnum[];
8
- static enumNames: Array<string>;
4
+ name: string;
5
+ fields: PrismaDMMF.SchemaArg[];
6
+ schemaImports: Set<string>;
7
+ modelOperations: PrismaDMMF.ModelMapping[];
8
+ enumTypes: PrismaDMMF.SchemaEnum[];
9
+ static enumNames: string[];
9
10
  private static outputPath;
10
- constructor({ name, fields, modelOperations, enumTypes, }: {
11
- name?: string | undefined;
12
- fields?: PrismaDMMF.SchemaArg[] | undefined;
13
- schemaImports?: Set<string>;
14
- modelOperations?: PrismaDMMF.ModelMapping[];
15
- enumTypes?: PrismaDMMF.SchemaEnum[];
16
- });
11
+ private hasJson;
12
+ constructor(params: TransformerParams);
17
13
  static setOutputPath(outPath: string): void;
18
14
  static getOutputPath(): string;
19
15
  addSchemaImport(name: string): void;
20
16
  getAllSchemaImports(): string;
21
- getPrismaStringLine(field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.SchemaArgInputType, inputsLength: number, isEnum: boolean): string;
22
- wrapWithZodArray(line: string, inputType: PrismaDMMF.SchemaArgInputType): string;
17
+ getPrismaStringLine(field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.SchemaArgInputType, inputsLength: number): string;
23
18
  wrapWithZodValidators(mainValidator: string, field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.SchemaArgInputType): string;
24
- getObjectSchemaLine(field: PrismaDMMF.SchemaArg): any;
19
+ getObjectSchemaLine(field: PrismaDMMF.SchemaArg): [string, PrismaDMMF.SchemaArg, boolean][];
25
20
  getFieldValidators(zodStringWithMainType: string, field: PrismaDMMF.SchemaArg): string;
26
- wrapWithObject({ zodStringFields, isArray, forData, }: {
27
- zodStringFields: string;
28
- isArray?: boolean;
29
- forData?: boolean;
30
- }): string;
31
21
  getImportZod(): string;
22
+ getImportPrisma(): string;
23
+ getJsonSchemaImplementation(): string;
32
24
  getImportsForObjectSchemas(): string;
33
- getImportsForSchemas(additionalImports: Array<string>): string;
25
+ getImportsForSchemas(additionalImports: string[]): string;
34
26
  addExportObjectSchema(schema: string): string;
35
27
  addExportSchema(schema: string, name: string): string;
36
- addTsIgnore(): string;
37
- checkIfSchemaShouldBeIgnored({ zodStringFields, objectName, }: {
38
- zodStringFields: Array<string>;
39
- objectName: string;
40
- }): boolean;
41
- wrapWithZodObject({ zodStringFields }: {
42
- zodStringFields: any;
43
- }): string;
44
- wrapWithZodOUnion({ zodStringFields }: {
45
- zodStringFields: Array<string>;
46
- }): string;
28
+ wrapWithZodObject(zodStringFields: string | string[]): string;
29
+ wrapWithZodOUnion(zodStringFields: string[]): string;
47
30
  addFinalWrappers({ zodStringFields }: {
48
- zodStringFields: Array<string>;
31
+ zodStringFields: string[];
49
32
  }): string;
50
- getFinalForm(zodStringFields: Array<string>, objectName: string): string;
33
+ getFinalForm(zodStringFields: string[]): string;
51
34
  printObjectSchemas(): Promise<void>;
52
35
  printModelSchemas(): Promise<void>;
53
36
  printEnumSchemas(): Promise<void>;
@@ -6,12 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
7
  const writeFileSafely_1 = require("./utils/writeFileSafely");
8
8
  class Transformer {
9
- constructor({ name, fields, modelOperations, enumTypes, }) {
10
- this.name = name !== null && name !== void 0 ? name : '';
11
- this.fields = fields !== null && fields !== void 0 ? fields : [];
12
- this.modelOperations = modelOperations !== null && modelOperations !== void 0 ? modelOperations : [];
9
+ constructor(params) {
10
+ var _a, _b, _c, _d;
13
11
  this.schemaImports = new Set();
14
- this.enumTypes = enumTypes;
12
+ this.hasJson = false;
13
+ this.name = (_a = params.name) !== null && _a !== void 0 ? _a : '';
14
+ this.fields = (_b = params.fields) !== null && _b !== void 0 ? _b : [];
15
+ this.modelOperations = (_c = params.modelOperations) !== null && _c !== void 0 ? _c : [];
16
+ this.enumTypes = (_d = params.enumTypes) !== null && _d !== void 0 ? _d : [];
15
17
  }
16
18
  static setOutputPath(outPath) {
17
19
  this.outputPath = outPath;
@@ -20,70 +22,46 @@ class Transformer {
20
22
  return this.outputPath;
21
23
  }
22
24
  addSchemaImport(name) {
23
- var _a;
24
- (_a = this.schemaImports) === null || _a === void 0 ? void 0 : _a.add(name);
25
+ this.schemaImports.add(name);
25
26
  }
26
27
  getAllSchemaImports() {
27
- var _a;
28
- return [...((_a = this.schemaImports) !== null && _a !== void 0 ? _a : [])]
28
+ return [...this.schemaImports]
29
29
  .map((name) => Transformer.enumNames.includes(name)
30
30
  ? `import { ${name}Schema } from '../enums/${name}.schema';`
31
- : [`import { ${name}ObjectSchema } from './${name}.schema';`])
32
- .flatMap((item) => item)
31
+ : `import { ${name}ObjectSchema } from './${name}.schema';`)
33
32
  .join(';\r\n');
34
33
  }
35
- getPrismaStringLine(field, inputType, inputsLength, isEnum) {
34
+ getPrismaStringLine(field, inputType, inputsLength) {
35
+ const isEnum = inputType.location === 'enumTypes';
36
36
  let objectSchemaLine = `${inputType.type}ObjectSchema`;
37
- let enumSchemaLine = `${`${inputType.type}Schema`}`;
38
- if (!field.isRequired && !inputType.isList) {
39
- objectSchemaLine += '?.optional()';
40
- enumSchemaLine += '?.optional()';
41
- }
42
- if (inputType.isList) {
43
- if (inputType.type === this.name) {
44
- return inputsLength === 1
45
- ? ` ${field.name}: z.array(${`z.lazy(() => ${objectSchemaLine}`}))`
46
- : `z.array(${`z.lazy(() => ${objectSchemaLine}`}))`;
47
- }
48
- else {
49
- if (inputsLength === 1) {
50
- return ` ${field.name}: ${isEnum ? enumSchemaLine : `z.array(${objectSchemaLine})`}`;
51
- }
52
- else {
53
- return `${isEnum ? enumSchemaLine : `z.array(${objectSchemaLine})`}`;
54
- }
55
- }
56
- }
57
- else {
58
- if (inputType.type === this.name) {
59
- return inputsLength === 1
60
- ? ` ${field.name}: ${`z.lazy(() => ${objectSchemaLine})`}`
61
- : `${`z.lazy(() => ${objectSchemaLine})`}`;
62
- }
63
- else {
64
- return inputsLength === 1
65
- ? ` ${field.name}: ${isEnum ? enumSchemaLine : `${objectSchemaLine}`}`
66
- : `${isEnum ? enumSchemaLine : `${objectSchemaLine}`}`;
67
- }
68
- }
69
- }
70
- wrapWithZodArray(line, inputType) {
71
- return inputType.isList ? `z.array(${line})` : line;
37
+ let enumSchemaLine = `${inputType.type}Schema`;
38
+ const schema = inputType.type === this.name
39
+ ? objectSchemaLine
40
+ : isEnum
41
+ ? enumSchemaLine
42
+ : objectSchemaLine;
43
+ const arr = inputType.isList ? '.array()' : '';
44
+ const opt = !field.isRequired ? '.optional()' : '';
45
+ return inputsLength === 1
46
+ ? ` ${field.name}: z.lazy(() => ${schema})${arr}${opt}`
47
+ : `z.lazy(() => ${schema})${arr}${opt}`;
72
48
  }
73
49
  wrapWithZodValidators(mainValidator, field, inputType) {
74
50
  let line = '';
75
51
  line = mainValidator;
76
- if (!field.isRequired && !inputType.isList) {
77
- line += '?.optional()';
52
+ if (inputType.isList) {
53
+ line += '.array()';
54
+ }
55
+ if (!field.isRequired) {
56
+ line += '.optional()';
78
57
  }
79
- line = this.wrapWithZodArray(line, inputType);
80
58
  return line;
81
59
  }
82
60
  getObjectSchemaLine(field) {
83
61
  let lines = field.inputTypes;
84
- const inputsLength = field.inputTypes.length;
85
- if (inputsLength === 0)
86
- return lines;
62
+ if (lines.length === 0) {
63
+ return [];
64
+ }
87
65
  let alternatives = lines.reduce((result, inputType) => {
88
66
  if (inputType.type === 'String') {
89
67
  result.push(this.wrapWithZodValidators('z.string()', field, inputType));
@@ -97,68 +75,69 @@ class Transformer {
97
75
  else if (inputType.type === 'DateTime') {
98
76
  result.push(this.wrapWithZodValidators('z.date()', field, inputType));
99
77
  }
78
+ else if (inputType.type === 'Json') {
79
+ this.hasJson = true;
80
+ result.push(this.wrapWithZodValidators('jsonSchema', field, inputType));
81
+ }
100
82
  else {
101
83
  const isEnum = inputType.location === 'enumTypes';
102
84
  if (inputType.namespace === 'prisma' || isEnum) {
103
- if (inputType.type !== this.name) {
85
+ if (inputType.type !== this.name &&
86
+ typeof inputType.type === 'string') {
104
87
  this.addSchemaImport(inputType.type);
105
88
  }
106
- result.push(this.getPrismaStringLine(field, inputType, inputsLength, isEnum));
89
+ result.push(this.getPrismaStringLine(field, inputType, lines.length));
107
90
  }
108
91
  }
109
92
  return result;
110
93
  }, []);
111
- if (alternatives.length > 0) {
112
- if (field.isNullable) {
113
- alternatives[alternatives.length - 1] =
114
- alternatives[alternatives.length - 1] + '.nullable()';
115
- }
116
- if (alternatives.length > 1) {
117
- alternatives = alternatives.map((alter) => alter.replace('?.optional()', ''));
118
- }
119
- lines = [
120
- [
121
- ` ${alternatives.some((alt) => alt.includes(':'))
122
- ? ''
123
- : ` ${field.name}:`} ${alternatives.length === 1
124
- ? alternatives.join(',\r\n')
125
- : `z.union([${alternatives.join(',\r\n')}])${!field.isRequired ? '?.optional()' : ''}`} `,
126
- field,
127
- true,
128
- ],
129
- ];
94
+ if (alternatives.length === 0) {
95
+ return [];
130
96
  }
131
- else {
132
- return [[]];
97
+ if (alternatives.length > 1) {
98
+ alternatives = alternatives.map((alter) => alter.replace('.optional()', ''));
133
99
  }
134
- return lines.filter(Boolean);
100
+ const fieldName = alternatives.some((alt) => alt.includes(':'))
101
+ ? ''
102
+ : ` ${field.name}:`;
103
+ const opt = !field.isRequired ? '.optional()' : '';
104
+ let resString = alternatives.length === 1
105
+ ? alternatives.join(',\r\n')
106
+ : `z.union([${alternatives.join(',\r\n')}])${opt}`;
107
+ if (field.isNullable) {
108
+ resString += '.nullable()';
109
+ }
110
+ return [[` ${fieldName} ${resString} `, field, true]];
135
111
  }
136
112
  getFieldValidators(zodStringWithMainType, field) {
137
- let zodStringWithAllValidators = zodStringWithMainType;
138
113
  const { isRequired, isNullable } = field;
139
114
  if (!isRequired) {
140
- zodStringWithAllValidators += '?.optional()';
115
+ zodStringWithMainType += '.optional()';
141
116
  }
142
117
  if (isNullable) {
143
- zodStringWithAllValidators += '.nullable()';
118
+ zodStringWithMainType += '.nullable()';
144
119
  }
145
- return zodStringWithAllValidators;
146
- }
147
- wrapWithObject({ zodStringFields, isArray = true, forData = false, }) {
148
- let wrapped = '{';
149
- wrapped += '\n';
150
- wrapped += isArray
151
- ? ' ' + zodStringFields.join('\r\n,')
152
- : ' ' + zodStringFields;
153
- wrapped += '\n';
154
- wrapped += forData ? ' ' + '}' : '}';
155
- return wrapped;
120
+ return zodStringWithMainType;
156
121
  }
157
122
  getImportZod() {
158
123
  let zodImportStatement = "import { z } from 'zod';";
159
124
  zodImportStatement += '\n';
160
125
  return zodImportStatement;
161
126
  }
127
+ getImportPrisma() {
128
+ return `import type { Prisma } from '@prisma/client';\n\n`;
129
+ }
130
+ getJsonSchemaImplementation() {
131
+ let jsonShemaImplementation = '';
132
+ if (this.hasJson) {
133
+ jsonShemaImplementation += `\n`;
134
+ jsonShemaImplementation += `const literalSchema = z.union([z.string(), z.number(), z.boolean()]);\n`;
135
+ jsonShemaImplementation += `const jsonSchema: z.ZodType<Prisma.InputJsonValue> = z.lazy(() =>\n`;
136
+ jsonShemaImplementation += ` z.union([literalSchema, z.array(jsonSchema.nullable()), z.record(jsonSchema.nullable())])\n`;
137
+ jsonShemaImplementation += `);\n\n`;
138
+ }
139
+ return jsonShemaImplementation;
140
+ }
162
141
  getImportsForObjectSchemas() {
163
142
  let imports = this.getImportZod();
164
143
  imports += this.getAllSchemaImports();
@@ -172,40 +151,24 @@ class Transformer {
172
151
  return imports;
173
152
  }
174
153
  addExportObjectSchema(schema) {
175
- return `export const ${this.name}ObjectSchema = ${schema};`;
154
+ const end = `export const ${this.name}ObjectSchema = Schema`;
155
+ return `const Schema: z.ZodType<Prisma.${this.name}> = ${schema};\n\n ${end}`;
176
156
  }
177
157
  addExportSchema(schema, name) {
178
158
  return `export const ${name}Schema = ${schema}`;
179
159
  }
180
- addTsIgnore() {
181
- return `///@ts-ignore\r\n`;
182
- }
183
- checkIfSchemaShouldBeIgnored({ zodStringFields, objectName, }) {
184
- let shouldIgnoreSchema = false;
185
- if (objectName.includes('Filter') ||
186
- (typeof zodStringFields === 'string' &&
187
- (zodStringFields.includes('.lazy(') ||
188
- zodStringFields.includes('Filter'))) ||
189
- (Array.isArray(zodStringFields) &&
190
- zodStringFields.some((field) => field.includes('.lazy(') ||
191
- field.includes('some') ||
192
- field.includes('every') ||
193
- field.includes('none') ||
194
- field.includes('Filter')))) {
195
- shouldIgnoreSchema = true;
196
- }
197
- return shouldIgnoreSchema;
198
- }
199
- wrapWithZodObject({ zodStringFields }) {
200
- let wrapped = 'z.object({';
160
+ wrapWithZodObject(zodStringFields) {
161
+ let wrapped = '';
162
+ wrapped += 'z.object({';
201
163
  wrapped += '\n';
202
164
  wrapped += ' ' + zodStringFields;
203
165
  wrapped += '\n';
204
166
  wrapped += '})';
205
167
  return wrapped;
206
168
  }
207
- wrapWithZodOUnion({ zodStringFields }) {
208
- let wrapped = 'z.union([';
169
+ wrapWithZodOUnion(zodStringFields) {
170
+ let wrapped = '';
171
+ wrapped += 'z.union([';
209
172
  wrapped += '\n';
210
173
  wrapped += ' ' + zodStringFields.join(',');
211
174
  wrapped += '\n';
@@ -213,62 +176,47 @@ class Transformer {
213
176
  return wrapped;
214
177
  }
215
178
  addFinalWrappers({ zodStringFields }) {
216
- let wrapped = '';
217
- let fields = [...zodStringFields];
179
+ const fields = [...zodStringFields];
218
180
  const shouldWrapWithUnion = fields.some((field) =>
219
181
  // TODO handle other cases if any
220
182
  // field.includes('create:') ||
221
183
  field.includes('connectOrCreate:') || field.includes('connect:'));
222
- if (shouldWrapWithUnion) {
223
- fields = fields.map((field) => `${this.wrapWithZodObject({ zodStringFields: field })}`);
224
- wrapped = this.wrapWithZodOUnion({ zodStringFields: fields });
225
- }
226
- else {
227
- wrapped = 'z.object({';
228
- wrapped += '\n';
229
- wrapped += ' ' + fields;
230
- wrapped += '\n';
231
- wrapped += '})';
232
- wrapped = this.wrapWithZodObject({ zodStringFields: fields });
184
+ if (!shouldWrapWithUnion) {
185
+ return this.wrapWithZodObject(fields) + '.strict()';
233
186
  }
234
- return wrapped;
187
+ const wrapped = fields.map((field) => this.wrapWithZodObject(field));
188
+ return this.wrapWithZodOUnion(wrapped);
235
189
  }
236
- getFinalForm(zodStringFields, objectName) {
237
- const shouldIgnoreSchema = this.checkIfSchemaShouldBeIgnored({
238
- zodStringFields,
239
- objectName,
240
- });
241
- const objectSchema = `${shouldIgnoreSchema ? this.addTsIgnore() : ''}${this.addExportObjectSchema(this.addFinalWrappers({ zodStringFields }))}\n`;
242
- return `${this.getImportsForObjectSchemas()}${objectSchema}`;
190
+ getFinalForm(zodStringFields) {
191
+ const objectSchema = `${this.addExportObjectSchema(this.addFinalWrappers({ zodStringFields }))}\n`;
192
+ const prismaImport = this.getImportPrisma();
193
+ const json = this.getJsonSchemaImplementation();
194
+ return `${this.getImportsForObjectSchemas()}${prismaImport}${json}${objectSchema}`;
243
195
  }
244
196
  async printObjectSchemas() {
245
- var _a;
246
- const zodStringFields = ((_a = this.fields) !== null && _a !== void 0 ? _a : [])
247
- // TODO find a way to handle self refs, zod makes it hard to do so
248
- // https://github.com/colinhacks/zod#recursive-types
249
- .filter((field) => !['AND', 'OR', 'NOT'].includes(field.name))
250
- .map((field) => {
251
- const value = this.getObjectSchemaLine(field);
252
- return value;
253
- })
197
+ const zodStringFields = this.fields
198
+ .map((field) => this.getObjectSchemaLine(field))
254
199
  .flatMap((item) => item)
255
- .filter((item) => item && item.length > 0)
256
200
  .map((item) => {
257
201
  const [zodStringWithMainType, field, skipValidators] = item;
258
202
  const value = skipValidators
259
203
  ? zodStringWithMainType
260
204
  : this.getFieldValidators(zodStringWithMainType, field);
261
- return value;
262
- })
263
- .map((field) => {
264
- return field.trim();
205
+ return value.trim();
265
206
  });
266
- await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/objects/${this.name}.schema.ts`), this.getFinalForm(zodStringFields, this.name));
207
+ await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/objects/${this.name}.schema.ts`), this.getFinalForm(zodStringFields));
267
208
  }
268
209
  async printModelSchemas() {
269
- var _a;
270
- for (const model of (_a = this.modelOperations) !== null && _a !== void 0 ? _a : []) {
271
- const { model: modelName, findUnique, findFirst, findMany, create, update, deleteMany, updateMany, upsert, aggregate, groupBy, } = model;
210
+ for (const model of this.modelOperations) {
211
+ const { model: modelName, findUnique, findFirst, findMany,
212
+ // @ts-ignore
213
+ createOne, createMany,
214
+ // @ts-ignore
215
+ deleteOne,
216
+ // @ts-ignore
217
+ updateOne, deleteMany, updateMany,
218
+ // @ts-ignore
219
+ upsertOne, aggregate, groupBy, } = model;
272
220
  if (findUnique) {
273
221
  const imports = [
274
222
  `import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`,
@@ -293,17 +241,23 @@ class Transformer {
293
241
  ];
294
242
  await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${findMany}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ where: ${modelName}WhereInputObjectSchema.optional(), orderBy: ${modelName}OrderByWithRelationInputObjectSchema.optional(), cursor: ${modelName}WhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.array(${modelName}ScalarFieldEnumSchema).optional() })`, `${modelName}FindMany`)}`);
295
243
  }
296
- if (create) {
244
+ if (createOne) {
297
245
  const imports = [
298
246
  `import { ${modelName}CreateInputObjectSchema } from './objects/${modelName}CreateInput.schema'`,
299
247
  ];
300
- await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${create}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ data: ${modelName}CreateInputObjectSchema })`, `${modelName}Create`)}`);
248
+ await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${createOne}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ data: ${modelName}CreateInputObjectSchema })`, `${modelName}CreateOne`)}`);
249
+ }
250
+ if (createMany) {
251
+ const imports = [
252
+ `import { ${modelName}CreateManyInputObjectSchema } from './objects/${modelName}CreateManyInput.schema'`,
253
+ ];
254
+ await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${createMany}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ data: ${modelName}CreateManyInputObjectSchema })`, `${modelName}CreateMany`)}`);
301
255
  }
302
- if (model.delete) {
256
+ if (deleteOne) {
303
257
  const imports = [
304
258
  `import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`,
305
259
  ];
306
- await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${model.delete}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ where: ${modelName}WhereUniqueInputObjectSchema })`, `${modelName}DeleteOne`)}`);
260
+ await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${deleteOne}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ where: ${modelName}WhereUniqueInputObjectSchema })`, `${modelName}DeleteOne`)}`);
307
261
  }
308
262
  if (deleteMany) {
309
263
  const imports = [
@@ -311,12 +265,12 @@ class Transformer {
311
265
  ];
312
266
  await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${deleteMany}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ where: ${modelName}WhereInputObjectSchema.optional() })`, `${modelName}DeleteMany`)}`);
313
267
  }
314
- if (update) {
268
+ if (updateOne) {
315
269
  const imports = [
316
270
  `import { ${modelName}UpdateInputObjectSchema } from './objects/${modelName}UpdateInput.schema'`,
317
271
  `import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`,
318
272
  ];
319
- await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${update}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ data: ${modelName}UpdateInputObjectSchema, where: ${modelName}WhereUniqueInputObjectSchema })`, `${modelName}UpdateOne`)}`);
273
+ await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${updateOne}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ data: ${modelName}UpdateInputObjectSchema, where: ${modelName}WhereUniqueInputObjectSchema })`, `${modelName}UpdateOne`)}`);
320
274
  }
321
275
  if (updateMany) {
322
276
  const imports = [
@@ -325,13 +279,13 @@ class Transformer {
325
279
  ];
326
280
  await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${updateMany}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ data: ${modelName}UpdateManyMutationInputObjectSchema, where: ${modelName}WhereInputObjectSchema.optional() })`, `${modelName}UpdateMany`)}`);
327
281
  }
328
- if (upsert) {
282
+ if (upsertOne) {
329
283
  const imports = [
330
284
  `import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`,
331
285
  `import { ${modelName}CreateInputObjectSchema } from './objects/${modelName}CreateInput.schema'`,
332
286
  `import { ${modelName}UpdateInputObjectSchema } from './objects/${modelName}UpdateInput.schema'`,
333
287
  ];
334
- await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${upsert}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ where: ${modelName}WhereUniqueInputObjectSchema, create: ${modelName}CreateInputObjectSchema, update: ${modelName}UpdateInputObjectSchema })`, `${modelName}Upsert`)}`);
288
+ await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/${upsertOne}.schema.ts`), `${this.getImportsForSchemas(imports)}${this.addExportSchema(`z.object({ where: ${modelName}WhereUniqueInputObjectSchema, create: ${modelName}CreateInputObjectSchema, update: ${modelName}UpdateInputObjectSchema })`, `${modelName}Upsert`)}`);
335
289
  }
336
290
  if (aggregate) {
337
291
  const imports = [
@@ -353,8 +307,7 @@ class Transformer {
353
307
  }
354
308
  }
355
309
  async printEnumSchemas() {
356
- var _a;
357
- for (const enumType of (_a = this.enumTypes) !== null && _a !== void 0 ? _a : []) {
310
+ for (const enumType of this.enumTypes) {
358
311
  const { name, values } = enumType;
359
312
  await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(Transformer.outputPath, `schemas/enums/${name}.schema.ts`), `${this.getImportZod()}\n${this.addExportSchema(`z.enum(${JSON.stringify(values)})`, `${name}`)}`);
360
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -0,0 +1,7 @@
1
+ import { DMMF as PrismaDMMF } from '@prisma/client/runtime';
2
+ export declare type TransformerParams = {
3
+ enumTypes?: PrismaDMMF.SchemaEnum[];
4
+ fields?: PrismaDMMF.SchemaArg[];
5
+ name?: string;
6
+ modelOperations?: PrismaDMMF.ModelMapping[];
7
+ };
package/lib/types.js CHANGED
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prisma-zod-generator",
3
- "version": "0.1.4",
3
+ "version": "0.3.1",
4
4
  "description": "Prisma 2+ generator to emit Zod schemas from your Prisma schema",
5
5
  "repository": "https://github.com/omar-dulaimi/prisma-zod-generator",
6
6
  "bin": {
@@ -24,19 +24,19 @@
24
24
  ],
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
- "@prisma/client": "^3.14.0",
28
- "@prisma/generator-helper": "^3.14.0",
29
- "@prisma/sdk": "^3.14.0",
30
- "prettier": "^2.6.2",
27
+ "@prisma/client": "^4.0.0",
28
+ "@prisma/generator-helper": "^4.0.0",
29
+ "@prisma/internals": "^4.0.0",
30
+ "prettier": "^2.7.1",
31
31
  "tslib": "^2.4.0",
32
32
  "zod": "^3.17.3"
33
33
  },
34
34
  "devDependencies": {
35
- "@types/node": "^17.0.35",
36
- "@types/prettier": "^2.6.1",
37
- "prisma": "^3.14.0",
38
- "typescript": "^4.7.2",
39
- "ts-node": "^10.8.0"
35
+ "@types/node": "^18.0.3",
36
+ "@types/prettier": "^2.6.3",
37
+ "prisma": "^4.0.0",
38
+ "typescript": "^4.7.4",
39
+ "ts-node": "^10.8.2"
40
40
  },
41
41
  "bugs": {
42
42
  "url": "https://github.com/omar-dulaimi/prisma-zod-generator/issues"