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 +12 -1
- package/lib/prisma-generator.js +7 -29
- package/lib/prisma-generator.js.map +1 -1
- package/lib/transformer.d.ts +19 -36
- package/lib/transformer.js +117 -164
- package/lib/transformer.js.map +1 -1
- package/lib/types.d.ts +7 -0
- package/lib/types.js +1 -0
- package/package.json +10 -10
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
|
-
|
|
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
|
|
package/lib/prisma-generator.js
CHANGED
|
@@ -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
|
|
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,
|
|
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,
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
.
|
|
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":"
|
|
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"}
|
package/lib/transformer.d.ts
CHANGED
|
@@ -1,53 +1,36 @@
|
|
|
1
|
-
import { DMMF as PrismaDMMF } from '@prisma/
|
|
1
|
+
import type { DMMF as PrismaDMMF } from '@prisma/generator-helper';
|
|
2
|
+
import { TransformerParams } from './types';
|
|
2
3
|
export default class Transformer {
|
|
3
|
-
name
|
|
4
|
-
fields
|
|
5
|
-
schemaImports
|
|
6
|
-
modelOperations
|
|
7
|
-
enumTypes
|
|
8
|
-
static enumNames:
|
|
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
|
-
|
|
11
|
-
|
|
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
|
|
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):
|
|
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:
|
|
25
|
+
getImportsForSchemas(additionalImports: string[]): string;
|
|
34
26
|
addExportObjectSchema(schema: string): string;
|
|
35
27
|
addExportSchema(schema: string, name: string): string;
|
|
36
|
-
|
|
37
|
-
|
|
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:
|
|
31
|
+
zodStringFields: string[];
|
|
49
32
|
}): string;
|
|
50
|
-
getFinalForm(zodStringFields:
|
|
33
|
+
getFinalForm(zodStringFields: string[]): string;
|
|
51
34
|
printObjectSchemas(): Promise<void>;
|
|
52
35
|
printModelSchemas(): Promise<void>;
|
|
53
36
|
printEnumSchemas(): Promise<void>;
|
package/lib/transformer.js
CHANGED
|
@@ -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(
|
|
10
|
-
|
|
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.
|
|
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
|
-
|
|
24
|
-
(_a = this.schemaImports) === null || _a === void 0 ? void 0 : _a.add(name);
|
|
25
|
+
this.schemaImports.add(name);
|
|
25
26
|
}
|
|
26
27
|
getAllSchemaImports() {
|
|
27
|
-
|
|
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
|
-
:
|
|
32
|
-
.flatMap((item) => item)
|
|
31
|
+
: `import { ${name}ObjectSchema } from './${name}.schema';`)
|
|
33
32
|
.join(';\r\n');
|
|
34
33
|
}
|
|
35
|
-
getPrismaStringLine(field, inputType, inputsLength
|
|
34
|
+
getPrismaStringLine(field, inputType, inputsLength) {
|
|
35
|
+
const isEnum = inputType.location === 'enumTypes';
|
|
36
36
|
let objectSchemaLine = `${inputType.type}ObjectSchema`;
|
|
37
|
-
let enumSchemaLine = `${
|
|
38
|
-
|
|
39
|
-
objectSchemaLine
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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 (
|
|
77
|
-
line += '
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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,
|
|
89
|
+
result.push(this.getPrismaStringLine(field, inputType, lines.length));
|
|
107
90
|
}
|
|
108
91
|
}
|
|
109
92
|
return result;
|
|
110
93
|
}, []);
|
|
111
|
-
if (alternatives.length
|
|
112
|
-
|
|
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
|
-
|
|
132
|
-
|
|
97
|
+
if (alternatives.length > 1) {
|
|
98
|
+
alternatives = alternatives.map((alter) => alter.replace('.optional()', ''));
|
|
133
99
|
}
|
|
134
|
-
|
|
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
|
-
|
|
115
|
+
zodStringWithMainType += '.optional()';
|
|
141
116
|
}
|
|
142
117
|
if (isNullable) {
|
|
143
|
-
|
|
118
|
+
zodStringWithMainType += '.nullable()';
|
|
144
119
|
}
|
|
145
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
181
|
-
|
|
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(
|
|
208
|
-
let wrapped = '
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
187
|
+
const wrapped = fields.map((field) => this.wrapWithZodObject(field));
|
|
188
|
+
return this.wrapWithZodOUnion(wrapped);
|
|
235
189
|
}
|
|
236
|
-
getFinalForm(zodStringFields
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
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
|
-
|
|
246
|
-
|
|
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
|
|
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
|
-
|
|
270
|
-
|
|
271
|
-
|
|
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 (
|
|
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/${
|
|
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 (
|
|
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/${
|
|
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 (
|
|
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/${
|
|
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 (
|
|
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/${
|
|
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
|
-
|
|
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
|
}
|
package/lib/transformer.js.map
CHANGED
|
@@ -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
package/lib/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prisma-zod-generator",
|
|
3
|
-
"version": "0.1
|
|
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": "^
|
|
28
|
-
"@prisma/generator-helper": "^
|
|
29
|
-
"@prisma/
|
|
30
|
-
"prettier": "^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": "^
|
|
36
|
-
"@types/prettier": "^2.6.
|
|
37
|
-
"prisma": "^
|
|
38
|
-
"typescript": "^4.7.
|
|
39
|
-
"ts-node": "^10.8.
|
|
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"
|