prisma-kysely 1.1.0 → 1.2.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 +8 -13
- package/dist/dialectTests/mysql.js.map +1 -1
- package/dist/dialectTests/postgresql.js.map +1 -1
- package/dist/dialectTests/sqlite.js.map +1 -1
- package/dist/generator.js +2 -7
- package/dist/generator.js.map +1 -1
- package/dist/helpers/generateEnumType.js +27 -0
- package/dist/helpers/generateEnumType.js.map +1 -0
- package/dist/helpers/generateField.js +12 -2
- package/dist/helpers/generateField.js.map +1 -1
- package/dist/helpers/generateField.test.js +47 -5
- package/dist/helpers/generateField.test.js.map +1 -1
- package/dist/helpers/generateModel.js +19 -3
- package/dist/helpers/generateModel.js.map +1 -1
- package/dist/utils/applyJSDocWorkaround.js +8 -0
- package/dist/utils/applyJSDocWorkaround.js.map +1 -0
- package/dist/utils/validateConfig.js +4 -4
- package/dist/utils/validateConfig.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -105,17 +105,6 @@ model SQLiteUser {
|
|
|
105
105
|
[Check out the Prisma Docs for more
|
|
106
106
|
info.](https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#attribute-functions)
|
|
107
107
|
|
|
108
|
-
#### Field level `@map` not supported
|
|
109
|
-
|
|
110
|
-
Regrettably, `prisma-kysely` doesn't support
|
|
111
|
-
[mapping](https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#map)
|
|
112
|
-
field names to different columns. This is due the fact that Prisma's "Data Model
|
|
113
|
-
Meta Format" doesn't supply custom generators with the info needed. There's no
|
|
114
|
-
easy way to implement this besides re-parsing the schema ourselves, so for now
|
|
115
|
-
we have to wait until Prisma fix this upstream. We're keeping track of the issue
|
|
116
|
-
here: https://github.com/valtyr/prisma-kysely/issues/4. In the meantime you can
|
|
117
|
-
get around the issue by naming the field directly after the column.
|
|
118
|
-
|
|
119
108
|
### Contributions
|
|
120
109
|
|
|
121
110
|
OMG you actually want to contribute? I'm so thankful! 🙇♂️
|
|
@@ -125,8 +114,14 @@ Here's everything you need to do (let me know if something's missing...)
|
|
|
125
114
|
1. Fork and pull the repository
|
|
126
115
|
2. Run `yarn install` and `yarn dev` to start `tsc` in watch mode.
|
|
127
116
|
3. Make changes to the source code
|
|
128
|
-
4. Test your changes by
|
|
129
|
-
generate` and checking the output in `prisma/types.ts`.
|
|
117
|
+
4. Test your changes by creating `prisma/schema.prisma`, running `yarn prisma
|
|
118
|
+
generate` and checking the output in `prisma/types.ts`. The provider must be set
|
|
119
|
+
as follows to reference the dev build:
|
|
120
|
+
```prisma
|
|
121
|
+
generator kysely {
|
|
122
|
+
provider = "node ./dist/bin.js"
|
|
123
|
+
}
|
|
124
|
+
```
|
|
130
125
|
5. Create a pull request! If your changes make sense, I'll try my best to review
|
|
131
126
|
and merge them quickly.
|
|
132
127
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/dialectTests/mysql.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,mCAAoC;AAEpC,qCAAsD;AAEtD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,eAAM,
|
|
1
|
+
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/dialectTests/mysql.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,mCAAoC;AAEpC,qCAAsD;AAEtD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,eAAM,CAAQ;QAC3B,OAAO,EAAE,IAAI,qBAAY,CAAC;YACxB,IAAI,EAAE,IAAA,mBAAU,EAAC;gBACf,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;aACZ,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../src/dialectTests/postgresql.ts"],"names":[],"mappings":";;AAAA,mCAAiD;AACjD,2BAA0B;AAE1B,qCAAoE;AAEpE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,eAAM,
|
|
1
|
+
{"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../src/dialectTests/postgresql.ts"],"names":[],"mappings":";;AAAA,mCAAiD;AACjD,2BAA0B;AAE1B,qCAAoE;AAEpE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,eAAM,CAAQ;QAC3B,OAAO,EAAE,IAAI,wBAAe,CAAC;YAC3B,IAAI,EAAE,IAAI,SAAI,CAAC;gBACb,gBAAgB,EAAE,qBAAY;aAC/B,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/dialectTests/sqlite.ts"],"names":[],"mappings":";;;;;AAAA,oEAAsC;AACtC,mCAA+C;AAE/C,
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/dialectTests/sqlite.ts"],"names":[],"mappings":";;;;;AAAA,oEAAsC;AACtC,mCAA+C;AAE/C,qCAAsD;AAEtD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,eAAM,CAAQ;QAC3B,OAAO,EAAE,IAAI,sBAAa,CAAC;YACzB,QAAQ,EAAE,IAAI,wBAAQ,CAAC,iBAAiB,CAAC;SAC1C,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
|
package/dist/generator.js
CHANGED
|
@@ -10,11 +10,10 @@ const generateDatabaseType_1 = require("./helpers/generateDatabaseType");
|
|
|
10
10
|
const generateFile_1 = require("./helpers/generateFile");
|
|
11
11
|
const generateImplicitManyToManyModels_1 = require("./helpers/generateImplicitManyToManyModels");
|
|
12
12
|
const generateModel_1 = require("./helpers/generateModel");
|
|
13
|
-
const generateStringLiteralUnion_1 = require("./helpers/generateStringLiteralUnion");
|
|
14
|
-
const generateTypedAliasDeclaration_1 = require("./helpers/generateTypedAliasDeclaration");
|
|
15
13
|
const sorted_1 = require("./utils/sorted");
|
|
16
14
|
const validateConfig_1 = require("./utils/validateConfig");
|
|
17
15
|
const writeFileSafely_1 = require("./utils/writeFileSafely");
|
|
16
|
+
const generateEnumType_1 = require("./helpers/generateEnumType");
|
|
18
17
|
const { version } = require("../package.json");
|
|
19
18
|
(0, generator_helper_1.generatorHandler)({
|
|
20
19
|
onManifest() {
|
|
@@ -31,11 +30,7 @@ const { version } = require("../package.json");
|
|
|
31
30
|
databaseProvider: options.datasources[0].provider,
|
|
32
31
|
});
|
|
33
32
|
const enums = options.dmmf.datamodel.enums.flatMap(({ name, values }) => {
|
|
34
|
-
|
|
35
|
-
if (!type)
|
|
36
|
-
return [];
|
|
37
|
-
const declaration = (0, generateTypedAliasDeclaration_1.generateTypedAliasDeclaration)(name, type);
|
|
38
|
-
return declaration;
|
|
33
|
+
return (0, generateEnumType_1.generateEnumType)(name, values);
|
|
39
34
|
});
|
|
40
35
|
const implicitManyToManyModels = (0, generateImplicitManyToManyModels_1.generateImplicitManyToManyModels)(options.dmmf.datamodel.models);
|
|
41
36
|
const models = (0, sorted_1.sorted)([...options.dmmf.datamodel.models, ...implicitManyToManyModels], (a, b) => a.name.localeCompare(b.name)).map((m) => (0, generateModel_1.generateModel)(m, config));
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;;;AACA,+DAA4D;AAC5D,gDAAwB;AAExB,2CAA6C;AAC7C,yEAAsE;AACtE,yDAAsD;AACtD,iGAA8F;AAC9F,2DAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;;;AACA,+DAA4D;AAC5D,gDAAwB;AAExB,2CAA6C;AAC7C,yEAAsE;AACtE,yDAAsD;AACtD,iGAA8F;AAC9F,2DAAwD;AACxD,2CAAwC;AACxC,2DAAwD;AACxD,6DAA0D;AAE1D,iEAA8D;AAG9D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,IAAA,mCAAgB,EAAC;IACf,UAAU;QACR,OAAO;YACL,OAAO;YACP,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,0BAAc;SAC3B,CAAC;IACJ,CAAC;IACD,UAAU,EAAE,KAAK,EAAE,OAAyB,EAAE,EAAE;;QAE9C,MAAM,MAAM,GAAG,IAAA,+BAAc,EAAC;YAC5B,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;YAC3B,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;SAClD,CAAC,CAAC;QAGH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACtE,OAAO,IAAA,mCAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAMH,MAAM,wBAAwB,GAAG,IAAA,mEAAgC,EAC/D,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAC9B,CAAC;QAGF,MAAM,MAAM,GAAG,IAAA,eAAM,EACnB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,wBAAwB,CAAC,EAC/D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CACvC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAGvC,MAAM,YAAY,GAAG,IAAA,2CAAoB,EACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EACrE,MAAM,CACP,CAAC;QAGF,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC;YACxB,GAAG,KAAK;YACR,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAClC,YAAY;SACb,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAC7B,CAAA,MAAA,OAAO,CAAC,SAAS,CAAC,MAAM,0CAAE,KAAK,KAAI,EAAE,EACrC,MAAM,CAAC,QAAQ,CAChB,CAAC;QACF,MAAM,IAAA,iCAAe,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateEnumType = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const isValidTSIdentifier_1 = __importDefault(require("../utils/isValidTSIdentifier"));
|
|
9
|
+
const generateStringLiteralUnion_1 = require("./generateStringLiteralUnion");
|
|
10
|
+
const generateTypedAliasDeclaration_1 = require("./generateTypedAliasDeclaration");
|
|
11
|
+
const generateEnumType = (name, values) => {
|
|
12
|
+
const type = (0, generateStringLiteralUnion_1.generateStringLiteralUnion)(values.map((v) => v.name));
|
|
13
|
+
if (!type)
|
|
14
|
+
return [];
|
|
15
|
+
const objectDeclaration = typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
16
|
+
typescript_1.default.factory.createVariableDeclaration(name, undefined, undefined, typescript_1.default.factory.createObjectLiteralExpression(values.map((v) => {
|
|
17
|
+
const identifier = (0, isValidTSIdentifier_1.default)(v.name)
|
|
18
|
+
? typescript_1.default.factory.createIdentifier(v.name)
|
|
19
|
+
: typescript_1.default.factory.createStringLiteral(v.name);
|
|
20
|
+
return typescript_1.default.factory.createPropertyAssignment(identifier, typescript_1.default.factory.createStringLiteral(v.name));
|
|
21
|
+
}), true)),
|
|
22
|
+
], typescript_1.default.NodeFlags.Const));
|
|
23
|
+
const typeDeclaration = (0, generateTypedAliasDeclaration_1.generateTypedAliasDeclaration)(name, type);
|
|
24
|
+
return [typeDeclaration, objectDeclaration];
|
|
25
|
+
};
|
|
26
|
+
exports.generateEnumType = generateEnumType;
|
|
27
|
+
//# sourceMappingURL=generateEnumType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateEnumType.js","sourceRoot":"","sources":["../../src/helpers/generateEnumType.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,uFAA8D;AAE9D,6EAA0E;AAC1E,mFAAgF;AAEzE,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,MAAwB,EAAE,EAAE;IACzE,MAAM,IAAI,GAAG,IAAA,uDAA0B,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,iBAAiB,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC1D,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;QACE,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,IAAI,EACJ,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,MAAM,UAAU,GAAG,IAAA,6BAAmB,EAAC,CAAC,CAAC,IAAI,CAAC;gBAC5C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAO,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACxC,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CACvC,CAAC;QACJ,CAAC,CAAC,EACF,IAAI,CACL,CACF;KACF,EACD,oBAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,6DAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAElE,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAC9C,CAAC,CAAC;AAnCW,QAAA,gBAAgB,oBAmC3B"}
|
|
@@ -5,7 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.generateField = void 0;
|
|
7
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
const
|
|
8
|
+
const applyJSDocWorkaround_1 = require("../utils/applyJSDocWorkaround");
|
|
9
|
+
const isValidTSIdentifier_1 = __importDefault(require("../utils/isValidTSIdentifier"));
|
|
10
|
+
const generateField = (args) => {
|
|
11
|
+
const { name, type, nullable, generated, list, documentation } = args;
|
|
9
12
|
let fieldType = type;
|
|
10
13
|
if (nullable)
|
|
11
14
|
fieldType = typescript_1.default.factory.createUnionTypeNode([
|
|
@@ -16,7 +19,14 @@ const generateField = (name, type, nullable, generated, list) => {
|
|
|
16
19
|
fieldType = typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Generated"), [fieldType]);
|
|
17
20
|
if (list)
|
|
18
21
|
fieldType = typescript_1.default.factory.createArrayTypeNode(fieldType);
|
|
19
|
-
|
|
22
|
+
const nameIdentifier = (0, isValidTSIdentifier_1.default)(name)
|
|
23
|
+
? typescript_1.default.factory.createIdentifier(name)
|
|
24
|
+
: typescript_1.default.factory.createStringLiteral(name);
|
|
25
|
+
const propertySignature = typescript_1.default.factory.createPropertySignature(undefined, nameIdentifier, undefined, fieldType);
|
|
26
|
+
if (documentation) {
|
|
27
|
+
return typescript_1.default.addSyntheticLeadingComment(propertySignature, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, (0, applyJSDocWorkaround_1.applyJSDocWorkaround)(documentation), true);
|
|
28
|
+
}
|
|
29
|
+
return propertySignature;
|
|
20
30
|
};
|
|
21
31
|
exports.generateField = generateField;
|
|
22
32
|
//# sourceMappingURL=generateField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateField.js","sourceRoot":"","sources":["../../src/helpers/generateField.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;
|
|
1
|
+
{"version":3,"file":"generateField.js","sourceRoot":"","sources":["../../src/helpers/generateField.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,wEAAoE;AACpE,uFAA8D;AAUvD,MAAM,aAAa,GAAG,CAAC,IAAuB,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAStE,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,IAAI,QAAQ;QACV,SAAS,GAAG,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACzC,SAAS;YACT,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAClD;SACF,CAAC,CAAC;IAEL,IAAI,SAAS;QACX,SAAS,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC5C,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,CAAC,SAAS,CAAC,CACZ,CAAC;IAEJ,IAAI,IAAI;QAAE,SAAS,GAAG,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEhE,MAAM,cAAc,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,iBAAiB,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC1D,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS,CACV,CAAC;IAEF,IAAI,aAAa,EAAE;QACjB,OAAO,oBAAE,CAAC,0BAA0B,CAClC,iBAAiB,EACjB,oBAAE,CAAC,UAAU,CAAC,sBAAsB,EACpC,IAAA,2CAAoB,EAAC,aAAa,CAAC,EACnC,IAAI,CACL,CAAC;KACH;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAjDW,QAAA,aAAa,iBAiDxB"}
|
|
@@ -9,28 +9,70 @@ const generateField_1 = require("./generateField");
|
|
|
9
9
|
const testUtils_1 = require("../utils/testUtils");
|
|
10
10
|
const stringTypeNode = typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("string"), undefined);
|
|
11
11
|
(0, vitest_1.test)("it creates correct annotation for non-nullable types", () => {
|
|
12
|
-
const node = (0, generateField_1.generateField)(
|
|
12
|
+
const node = (0, generateField_1.generateField)({
|
|
13
|
+
name: "name",
|
|
14
|
+
type: stringTypeNode,
|
|
15
|
+
nullable: false,
|
|
16
|
+
generated: false,
|
|
17
|
+
list: false,
|
|
18
|
+
});
|
|
13
19
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
14
20
|
(0, vitest_1.expect)(result).toEqual("name: string;");
|
|
15
21
|
});
|
|
16
22
|
(0, vitest_1.test)("it creates correct annotation for nullable types", () => {
|
|
17
|
-
const node = (0, generateField_1.generateField)(
|
|
23
|
+
const node = (0, generateField_1.generateField)({
|
|
24
|
+
name: "name",
|
|
25
|
+
type: stringTypeNode,
|
|
26
|
+
nullable: true,
|
|
27
|
+
generated: false,
|
|
28
|
+
list: false,
|
|
29
|
+
});
|
|
18
30
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
19
31
|
(0, vitest_1.expect)(result).toEqual("name: string | null;");
|
|
20
32
|
});
|
|
21
33
|
(0, vitest_1.test)("it creates correct annotation for generated types", () => {
|
|
22
|
-
const node = (0, generateField_1.generateField)(
|
|
34
|
+
const node = (0, generateField_1.generateField)({
|
|
35
|
+
name: "name",
|
|
36
|
+
type: stringTypeNode,
|
|
37
|
+
nullable: false,
|
|
38
|
+
generated: true,
|
|
39
|
+
list: false,
|
|
40
|
+
});
|
|
23
41
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
24
42
|
(0, vitest_1.expect)(result).toEqual("name: Generated<string>;");
|
|
25
43
|
});
|
|
26
44
|
(0, vitest_1.test)("it creates correct annotation for list types", () => {
|
|
27
|
-
const node = (0, generateField_1.generateField)(
|
|
45
|
+
const node = (0, generateField_1.generateField)({
|
|
46
|
+
name: "name",
|
|
47
|
+
type: stringTypeNode,
|
|
48
|
+
nullable: false,
|
|
49
|
+
generated: false,
|
|
50
|
+
list: true,
|
|
51
|
+
});
|
|
28
52
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
29
53
|
(0, vitest_1.expect)(result).toEqual("name: string[];");
|
|
30
54
|
});
|
|
31
55
|
(0, vitest_1.test)("it creates correct annotation for generated nullable list types (do these exist?)", () => {
|
|
32
|
-
const node = (0, generateField_1.generateField)(
|
|
56
|
+
const node = (0, generateField_1.generateField)({
|
|
57
|
+
name: "name",
|
|
58
|
+
type: stringTypeNode,
|
|
59
|
+
nullable: true,
|
|
60
|
+
generated: true,
|
|
61
|
+
list: true,
|
|
62
|
+
});
|
|
33
63
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
34
64
|
(0, vitest_1.expect)(result).toEqual("name: Generated<string | null>[];");
|
|
35
65
|
});
|
|
66
|
+
(0, vitest_1.test)("it prepends a JSDoc comment if documentation is provided", () => {
|
|
67
|
+
const node = (0, generateField_1.generateField)({
|
|
68
|
+
name: "name",
|
|
69
|
+
type: stringTypeNode,
|
|
70
|
+
nullable: false,
|
|
71
|
+
generated: false,
|
|
72
|
+
list: false,
|
|
73
|
+
documentation: "This is a comment",
|
|
74
|
+
});
|
|
75
|
+
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
76
|
+
(0, vitest_1.expect)(result).toEqual("/**\n * This is a comment\n */\nname: string;");
|
|
77
|
+
});
|
|
36
78
|
//# sourceMappingURL=generateField.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateField.test.js","sourceRoot":"","sources":["../../src/helpers/generateField.test.ts"],"names":[],"mappings":";;;;;AAAA,4DAA4B;AAC5B,mCAAsC;AAEtC,mDAAwD;AACxD,kDAAoD;AAEpD,MAAM,cAAc,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACvD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,CACV,CAAC;AAEF,IAAA,aAAI,EAAC,sDAAsD,EAAE,GAAG,EAAE;IAChE,MAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generateField.test.js","sourceRoot":"","sources":["../../src/helpers/generateField.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,25 @@ const generateModel = (model, config) => {
|
|
|
17
17
|
defaultTypesImplementedInJS.includes(field.default.name));
|
|
18
18
|
if (field.kind === "object" || field.kind === "unsupported")
|
|
19
19
|
return [];
|
|
20
|
-
if (field.kind === "enum")
|
|
21
|
-
return (0, generateField_1.generateField)(
|
|
22
|
-
|
|
20
|
+
if (field.kind === "enum") {
|
|
21
|
+
return (0, generateField_1.generateField)({
|
|
22
|
+
name: field.name,
|
|
23
|
+
type: typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier(field.type), undefined),
|
|
24
|
+
nullable: !field.isRequired,
|
|
25
|
+
generated: isGenerated,
|
|
26
|
+
list: field.isList,
|
|
27
|
+
documentation: field.documentation,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
const dbName = typeof field.dbName === "string" ? field.dbName : null;
|
|
31
|
+
return (0, generateField_1.generateField)({
|
|
32
|
+
name: (0, normalizeCase_1.normalizeCase)(dbName || field.name, config),
|
|
33
|
+
type: typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier((0, generateFieldType_1.generateFieldType)(field.type, config)), undefined),
|
|
34
|
+
nullable: !field.isRequired,
|
|
35
|
+
generated: isGenerated,
|
|
36
|
+
list: field.isList,
|
|
37
|
+
documentation: field.documentation,
|
|
38
|
+
});
|
|
23
39
|
});
|
|
24
40
|
return {
|
|
25
41
|
typeName: model.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateModel.js","sourceRoot":"","sources":["../../src/helpers/generateModel.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,mDAAwD;AACxD,2DAAgE;AAChE,0DAAsD;AAQtD,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,MAAc,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,WAAW,GACf,KAAK,CAAC,eAAe;YACrB,CAAC,CACC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;gBACjC,MAAM,IAAI,KAAK,CAAC,OAAO;gBACvB,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CACzD,CAAC;QAEJ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,EAAE,CAAC;QACvE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;
|
|
1
|
+
{"version":3,"file":"generateModel.js","sourceRoot":"","sources":["../../src/helpers/generateModel.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,mDAAwD;AACxD,2DAAgE;AAChE,0DAAsD;AAQtD,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,MAAc,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,WAAW,GACf,KAAK,CAAC,eAAe;YACrB,CAAC,CACC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;gBACjC,MAAM,IAAI,KAAK,CAAC,OAAO;gBACvB,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CACzD,CAAC;QAEJ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,EAAE,CAAC;QACvE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YACzB,OAAO,IAAA,6BAAa,EAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACtC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,SAAS,CACV;gBACD,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC3B,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC,CAAC,CAAC;SACJ;QACD,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtE,OAAO,IAAA,6BAAa,EAAC;YACnB,IAAI,EAAE,IAAA,6BAAa,EAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;YACjD,IAAI,EAAE,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACtC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAA,qCAAiB,EAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAClE,SAAS,CACV;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU;YAC3B,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI;QACrC,UAAU,EAAE,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CAC/C,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAC7C;KACF,CAAC;AACJ,CAAC,CAAC;AAlDW,QAAA,aAAa,iBAkDxB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyJSDocWorkaround = void 0;
|
|
4
|
+
const applyJSDocWorkaround = (comment) => {
|
|
5
|
+
return `*\n * ${comment.split("\n").join("\n * ")}\n `;
|
|
6
|
+
};
|
|
7
|
+
exports.applyJSDocWorkaround = applyJSDocWorkaround;
|
|
8
|
+
//# sourceMappingURL=applyJSDocWorkaround.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyJSDocWorkaround.js","sourceRoot":"","sources":["../../src/utils/applyJSDocWorkaround.ts"],"names":[],"mappings":";;;AAAO,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE;IACtD,OAAO,SAAS,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B"}
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.validateConfig = exports.configValidator = void 0;
|
|
7
|
-
const
|
|
7
|
+
const internals_1 = require("@prisma/internals");
|
|
8
8
|
const zod_1 = __importDefault(require("zod"));
|
|
9
9
|
exports.configValidator = zod_1.default
|
|
10
10
|
.object({
|
|
@@ -38,12 +38,12 @@ exports.configValidator = zod_1.default
|
|
|
38
38
|
const validateConfig = (config) => {
|
|
39
39
|
const parsed = exports.configValidator.safeParse(config);
|
|
40
40
|
if (!parsed.success) {
|
|
41
|
-
|
|
41
|
+
internals_1.logger.error("Invalid prisma-kysely config");
|
|
42
42
|
Object.entries(parsed.error.flatten().fieldErrors).forEach(([key, value]) => {
|
|
43
|
-
|
|
43
|
+
internals_1.logger.error(`${key}: ${value.join(", ")}`);
|
|
44
44
|
});
|
|
45
45
|
Object.values(parsed.error.flatten().formErrors).forEach((value) => {
|
|
46
|
-
|
|
46
|
+
internals_1.logger.error(`${value}`);
|
|
47
47
|
});
|
|
48
48
|
process.exit(1);
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateConfig.js","sourceRoot":"","sources":["../../src/utils/validateConfig.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"validateConfig.js","sourceRoot":"","sources":["../../src/utils/validateConfig.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA2C;AAC3C,8CAAoB;AAEP,QAAA,eAAe,GAAG,aAAC;KAC7B,MAAM,CAAC;IAEN,gBAAgB,EAAE,aAAC,CAAC,KAAK,CAAC;QACxB,aAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACvB,aAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QACxB,aAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAClB,aAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;KACpB,CAAC;IAGF,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAGnD,kBAAkB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,mBAAmB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,eAAe,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,kBAAkB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,iBAAiB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,mBAAmB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,oBAAoB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,gBAAgB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,iBAAiB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,uBAAuB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAG9C,SAAS,EAAE,aAAC;SACT,KAAK,CAAC,CAAC,aAAC,CAAC,OAAO,EAAE,EAAE,aAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,aAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3D,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,IAAI,OAAO,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QACzC,OAAO,GAAG,KAAK,MAAM,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,KAAK,CAAC;CAClB,CAAC;KACD,MAAM,EAAE,CAAC;AAIL,MAAM,cAAc,GAAG,CAAC,MAAe,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,uBAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACnB,kBAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,OAAO,CACxD,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACf,kBAAM,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC,CACF,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjE,kBAAM,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"repository": {
|
|
5
5
|
"url": "https://github.com/valtyr/prisma-kysely"
|
|
6
6
|
},
|
|
7
|
-
"version": "1.1
|
|
7
|
+
"version": "1.2.1",
|
|
8
8
|
"main": "dist/generator.js",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist"
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"release": "yarn build && yarn changeset publish"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@prisma/generator-helper": "
|
|
29
|
-
"@prisma/
|
|
28
|
+
"@prisma/generator-helper": "4.13.0",
|
|
29
|
+
"@prisma/internals": "4.13.0",
|
|
30
30
|
"typescript": "4.6.2",
|
|
31
31
|
"zod": "^3.21.0"
|
|
32
32
|
},
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"mysql2": "^3.2.0",
|
|
47
47
|
"pg": "^8.10.0",
|
|
48
48
|
"prettier": "^2.8.4",
|
|
49
|
-
"prisma": "
|
|
49
|
+
"prisma": "4.13.0",
|
|
50
50
|
"ttypescript": "^1.5.15",
|
|
51
51
|
"typescript-transform-paths": "^3.4.6",
|
|
52
52
|
"vite-tsconfig-paths": "^4.0.7",
|