prisma-nestjs-graphql 19.1.0 → 19.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/generate.cjs +48 -42
- package/generate.d.ts +3 -1
- package/index.d.ts +1 -1
- package/package.json +39 -40
package/README.md
CHANGED
|
@@ -70,6 +70,12 @@ Path to `tsconfig.json` (absolute path or relative to current working directory)
|
|
|
70
70
|
Type: `string | undefined`
|
|
71
71
|
Default: `tsconfig.json` if exists, `undefined` otherwise
|
|
72
72
|
|
|
73
|
+
#### `prismaClientImport`
|
|
74
|
+
|
|
75
|
+
The path to use to import the Prisma Client package
|
|
76
|
+
Type: `string | undefined`
|
|
77
|
+
Default: `@prisma/client`
|
|
78
|
+
|
|
73
79
|
#### `combineScalarFilters`
|
|
74
80
|
|
|
75
81
|
Combine nested/nullable scalar filters to single
|
|
@@ -117,16 +123,19 @@ Type: `boolean`
|
|
|
117
123
|
Default: `false`
|
|
118
124
|
|
|
119
125
|
#### `emitBlocks`
|
|
126
|
+
|
|
120
127
|
Emit only selected blocks. Be aware, that some blocks do depend on others, e.g. one can't emit `models` without emitting `enums`.
|
|
121
128
|
Type: `("args" | "inputs" | "outputs" | "models" | "enums")[]`
|
|
122
129
|
Default: `["args", "inputs", "outputs", "models", "enums"]`
|
|
123
130
|
|
|
124
131
|
#### `omitModelsCount`
|
|
132
|
+
|
|
125
133
|
Omit `_count` field from models.
|
|
126
134
|
Type: `boolean`
|
|
127
135
|
Default: `false`
|
|
128
136
|
|
|
129
137
|
#### `purgeOutput`
|
|
138
|
+
|
|
130
139
|
Delete all files in `output` folder.
|
|
131
140
|
Type: `boolean`
|
|
132
141
|
Default: `false`
|
|
@@ -145,6 +154,13 @@ Type: `boolean`
|
|
|
145
154
|
Default: `false`
|
|
146
155
|
**Note**: It will break compatiblity between Prisma types and generated classes.
|
|
147
156
|
|
|
157
|
+
#### `unsafeCompatibleWhereUniqueInput`
|
|
158
|
+
|
|
159
|
+
Set TypeScript property type as non optional for all fields in `*WhereUniqueInput` classes.
|
|
160
|
+
See [#177](https://github.com/unlight/prisma-nestjs-graphql/issues/177) for more details.
|
|
161
|
+
Type: `boolean`
|
|
162
|
+
Default: `false`
|
|
163
|
+
|
|
148
164
|
#### `useInputType`
|
|
149
165
|
|
|
150
166
|
Since GraphQL does not support input union type, this setting map
|
package/generate.cjs
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var assert = require('assert');
|
|
6
4
|
var AwaitEventEmitter = require('await-event-emitter');
|
|
7
5
|
var lodash = require('lodash');
|
|
@@ -15,16 +13,6 @@ var filenamify = require('filenamify');
|
|
|
15
13
|
var flat = require('flat');
|
|
16
14
|
var pluralize = require('pluralize');
|
|
17
15
|
|
|
18
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
-
|
|
20
|
-
var AwaitEventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(AwaitEventEmitter);
|
|
21
|
-
var JSON5__default = /*#__PURE__*/_interopDefaultLegacy(JSON5);
|
|
22
|
-
var pupa__default = /*#__PURE__*/_interopDefaultLegacy(pupa);
|
|
23
|
-
var getRelativePath__default = /*#__PURE__*/_interopDefaultLegacy(getRelativePath);
|
|
24
|
-
var outmatch__default = /*#__PURE__*/_interopDefaultLegacy(outmatch);
|
|
25
|
-
var filenamify__default = /*#__PURE__*/_interopDefaultLegacy(filenamify);
|
|
26
|
-
var pluralize__default = /*#__PURE__*/_interopDefaultLegacy(pluralize);
|
|
27
|
-
|
|
28
16
|
function pascalCase(string) {
|
|
29
17
|
return lodash.startCase(lodash.camelCase(string)).replaceAll(" ", "");
|
|
30
18
|
}
|
|
@@ -86,9 +74,11 @@ function argsType(field, args) {
|
|
|
86
74
|
});
|
|
87
75
|
}
|
|
88
76
|
|
|
77
|
+
const BeforeGenerateField = "BeforeGenerateField";
|
|
78
|
+
|
|
89
79
|
function combineScalarFilters(eventEmitter) {
|
|
90
80
|
eventEmitter.on("BeforeInputType", beforeInputType$2);
|
|
91
|
-
eventEmitter.on(
|
|
81
|
+
eventEmitter.on(BeforeGenerateField, beforeGenerateField);
|
|
92
82
|
eventEmitter.on("PostBegin", postBegin);
|
|
93
83
|
}
|
|
94
84
|
function beforeInputType$2(args) {
|
|
@@ -393,7 +383,7 @@ function relativePath(from, to) {
|
|
|
393
383
|
if (!to.startsWith("/")) {
|
|
394
384
|
to = `/${to}`;
|
|
395
385
|
}
|
|
396
|
-
let result =
|
|
386
|
+
let result = getRelativePath(from, to);
|
|
397
387
|
if (!result.startsWith(".")) {
|
|
398
388
|
result = `./${result}`;
|
|
399
389
|
}
|
|
@@ -478,7 +468,7 @@ function getGraphqlInputType(inputTypes, pattern) {
|
|
|
478
468
|
if (pattern) {
|
|
479
469
|
if (pattern.startsWith("matcher:") || pattern.startsWith("match:")) {
|
|
480
470
|
const { 1: patternValue } = pattern.split(":", 2);
|
|
481
|
-
const isMatch =
|
|
471
|
+
const isMatch = outmatch(patternValue, { separator: false });
|
|
482
472
|
result = inputTypes.find((x) => isMatch(String(x.type)));
|
|
483
473
|
if (result) {
|
|
484
474
|
return result;
|
|
@@ -571,7 +561,7 @@ function getWhereUniqueAtLeastKeys(model) {
|
|
|
571
561
|
for (const uniqueIndex of model.uniqueIndexes) {
|
|
572
562
|
names.push(createFieldName(uniqueIndex));
|
|
573
563
|
}
|
|
574
|
-
return names
|
|
564
|
+
return names;
|
|
575
565
|
}
|
|
576
566
|
function createFieldName(args) {
|
|
577
567
|
const { name, fields } = args;
|
|
@@ -651,9 +641,10 @@ function inputType(args) {
|
|
|
651
641
|
const useInputType = config.useInputType.find(
|
|
652
642
|
(x) => inputType2.name.includes(x.typeName)
|
|
653
643
|
);
|
|
644
|
+
const isWhereUnique = isWhereUniqueInputType(inputType2.name);
|
|
654
645
|
for (const field of inputType2.fields) {
|
|
655
646
|
field.inputTypes = field.inputTypes.filter((t) => !removeTypes.has(String(t.type)));
|
|
656
|
-
eventEmitter.emitSync(
|
|
647
|
+
eventEmitter.emitSync(BeforeGenerateField, field, args);
|
|
657
648
|
const { inputTypes, isRequired, name } = field;
|
|
658
649
|
if (inputTypes.length === 0) {
|
|
659
650
|
continue;
|
|
@@ -669,16 +660,22 @@ function inputType(args) {
|
|
|
669
660
|
});
|
|
670
661
|
const modelField = model == null ? void 0 : model.fields.find((f) => f.name === name);
|
|
671
662
|
const isCustomsApplicable = typeName === (modelField == null ? void 0 : modelField.type);
|
|
672
|
-
const
|
|
663
|
+
const atLeastKeys = model && getWhereUniqueAtLeastKeys(model);
|
|
664
|
+
const whereUniqueInputType = isWhereUniqueInputType(typeName) && atLeastKeys && `Prisma.AtLeast<${typeName}, ${atLeastKeys.map((name2) => `'${name2}'`).join(" | ")}>`;
|
|
673
665
|
const propertyType = lodash.castArray(
|
|
674
666
|
(propertySettings == null ? void 0 : propertySettings.name) || whereUniqueInputType || getPropertyType({
|
|
675
667
|
location,
|
|
676
668
|
type: typeName
|
|
677
669
|
})
|
|
678
670
|
);
|
|
671
|
+
const hasExclamationToken = Boolean(
|
|
672
|
+
isWhereUnique && config.unsafeCompatibleWhereUniqueInput && (atLeastKeys == null ? void 0 : atLeastKeys.includes(name))
|
|
673
|
+
);
|
|
679
674
|
const property = propertyStructure({
|
|
680
675
|
name,
|
|
681
676
|
isNullable: !isRequired,
|
|
677
|
+
hasExclamationToken: hasExclamationToken || void 0,
|
|
678
|
+
hasQuestionToken: hasExclamationToken ? false : void 0,
|
|
682
679
|
propertyType,
|
|
683
680
|
isList
|
|
684
681
|
});
|
|
@@ -686,16 +683,16 @@ function inputType(args) {
|
|
|
686
683
|
if (propertySettings) {
|
|
687
684
|
importDeclarations.create({ ...propertySettings });
|
|
688
685
|
} else if (propertyType.includes("Decimal")) {
|
|
689
|
-
importDeclarations.add("Decimal",
|
|
686
|
+
importDeclarations.add("Decimal", `${config.prismaClientImport}/runtime/library`);
|
|
690
687
|
} else if (propertyType.some((p) => p.startsWith("Prisma."))) {
|
|
691
|
-
importDeclarations.add("Prisma",
|
|
688
|
+
importDeclarations.add("Prisma", config.prismaClientImport);
|
|
692
689
|
}
|
|
693
690
|
let graphqlType;
|
|
694
691
|
const shouldHideField = (settings == null ? void 0 : settings.shouldHideField({
|
|
695
692
|
name: inputType2.name,
|
|
696
693
|
input: true
|
|
697
694
|
})) || config.decorate.some(
|
|
698
|
-
(d) => d.name === "HideField" && d.from ===
|
|
695
|
+
(d) => d.name === "HideField" && d.from === moduleSpecifier && d.isMatchField(name) && d.isMatchType(inputType2.name)
|
|
699
696
|
);
|
|
700
697
|
const fieldType = settings == null ? void 0 : settings.getFieldType({
|
|
701
698
|
name: inputType2.name,
|
|
@@ -726,14 +723,14 @@ function inputType(args) {
|
|
|
726
723
|
}
|
|
727
724
|
assert.ok(property.decorators, "property.decorators is undefined");
|
|
728
725
|
if (shouldHideField) {
|
|
729
|
-
importDeclarations.add("HideField",
|
|
726
|
+
importDeclarations.add("HideField", moduleSpecifier);
|
|
730
727
|
property.decorators.push({ name: "HideField", arguments: [] });
|
|
731
728
|
} else {
|
|
732
729
|
property.decorators.push({
|
|
733
730
|
name: "Field",
|
|
734
731
|
arguments: [
|
|
735
732
|
isList ? `() => [${graphqlType}]` : `() => ${graphqlType}`,
|
|
736
|
-
|
|
733
|
+
JSON5.stringify({
|
|
737
734
|
...settings == null ? void 0 : settings.fieldArguments(),
|
|
738
735
|
nullable: !isRequired
|
|
739
736
|
})
|
|
@@ -789,7 +786,7 @@ function inputType(args) {
|
|
|
789
786
|
if (decorate.isMatchField(name) && decorate.isMatchType(inputType2.name)) {
|
|
790
787
|
property.decorators.push({
|
|
791
788
|
name: decorate.name,
|
|
792
|
-
arguments: (_d = decorate.arguments) == null ? void 0 : _d.map((x) =>
|
|
789
|
+
arguments: (_d = decorate.arguments) == null ? void 0 : _d.map((x) => pupa(x, { propertyType }))
|
|
793
790
|
});
|
|
794
791
|
importDeclarations.create(decorate);
|
|
795
792
|
}
|
|
@@ -869,7 +866,7 @@ class ObjectSettings extends Array {
|
|
|
869
866
|
resultArguments.unshift(name);
|
|
870
867
|
}
|
|
871
868
|
}
|
|
872
|
-
return resultArguments.map((x) =>
|
|
869
|
+
return resultArguments.map((x) => JSON5.stringify(x));
|
|
873
870
|
}
|
|
874
871
|
fieldArguments() {
|
|
875
872
|
const item = this.find((item2) => item2.kind === "Field");
|
|
@@ -974,7 +971,7 @@ function createSettingElement({
|
|
|
974
971
|
name,
|
|
975
972
|
namespace: false,
|
|
976
973
|
kind: "Decorator",
|
|
977
|
-
arguments: Array.isArray(options2.arguments) ? options2.arguments.map((s) =>
|
|
974
|
+
arguments: Array.isArray(options2.arguments) ? options2.arguments.map((s) => JSON5.stringify(s)) : options2.arguments
|
|
978
975
|
});
|
|
979
976
|
return result;
|
|
980
977
|
}
|
|
@@ -1001,7 +998,7 @@ function customType(args) {
|
|
|
1001
998
|
result.namespaceImport = namespace;
|
|
1002
999
|
}
|
|
1003
1000
|
if (typeof options.match === "string" || Array.isArray(options.match)) {
|
|
1004
|
-
result.match =
|
|
1001
|
+
result.match = outmatch(options.match, { separator: false });
|
|
1005
1002
|
}
|
|
1006
1003
|
return result;
|
|
1007
1004
|
}
|
|
@@ -1024,7 +1021,7 @@ function hideFieldDecorator(match) {
|
|
|
1024
1021
|
result.output = Boolean(options.output);
|
|
1025
1022
|
result.input = Boolean(options.input);
|
|
1026
1023
|
if (typeof options.match === "string" || Array.isArray(options.match)) {
|
|
1027
|
-
result.match =
|
|
1024
|
+
result.match = outmatch(options.match, { separator: false });
|
|
1028
1025
|
}
|
|
1029
1026
|
} else {
|
|
1030
1027
|
if (/output:\s*true/.test(match.groups.args)) {
|
|
@@ -1038,10 +1035,10 @@ function hideFieldDecorator(match) {
|
|
|
1038
1035
|
}
|
|
1039
1036
|
function parseArgs(string) {
|
|
1040
1037
|
try {
|
|
1041
|
-
return
|
|
1038
|
+
return JSON5.parse(string);
|
|
1042
1039
|
} catch {
|
|
1043
1040
|
try {
|
|
1044
|
-
return
|
|
1041
|
+
return JSON5.parse(`[${string}]`);
|
|
1045
1042
|
} catch {
|
|
1046
1043
|
throw new Error(`Failed to parse: ${string}`);
|
|
1047
1044
|
}
|
|
@@ -1223,7 +1220,7 @@ function modelOutputType(outputType, args) {
|
|
|
1223
1220
|
if (propertySettings) {
|
|
1224
1221
|
importDeclarations.create({ ...propertySettings });
|
|
1225
1222
|
} else if (propertyType.includes("Decimal")) {
|
|
1226
|
-
importDeclarations.add("Decimal",
|
|
1223
|
+
importDeclarations.add("Decimal", `${config.prismaClientImport}/runtime/library`);
|
|
1227
1224
|
}
|
|
1228
1225
|
assert.ok(property.decorators, "property.decorators is undefined");
|
|
1229
1226
|
const shouldHideField = (settings == null ? void 0 : settings.shouldHideField({ name: outputType.name, output: true })) || config.decorate.some(
|
|
@@ -1237,7 +1234,7 @@ function modelOutputType(outputType, args) {
|
|
|
1237
1234
|
name: "Field",
|
|
1238
1235
|
arguments: [
|
|
1239
1236
|
isList ? `() => [${graphqlType}]` : `() => ${graphqlType}`,
|
|
1240
|
-
|
|
1237
|
+
JSON5.stringify({
|
|
1241
1238
|
...settings == null ? void 0 : settings.fieldArguments(),
|
|
1242
1239
|
nullable: Boolean(field.isNullable),
|
|
1243
1240
|
defaultValue: ["number", "string", "boolean"].includes(
|
|
@@ -1261,7 +1258,7 @@ function modelOutputType(outputType, args) {
|
|
|
1261
1258
|
if (decorate.isMatchField(field.name) && decorate.isMatchType(outputTypeName)) {
|
|
1262
1259
|
property.decorators.push({
|
|
1263
1260
|
name: decorate.name,
|
|
1264
|
-
arguments: (_f = decorate.arguments) == null ? void 0 : _f.map((x) =>
|
|
1261
|
+
arguments: (_f = decorate.arguments) == null ? void 0 : _f.map((x) => pupa(x, { propertyType }))
|
|
1265
1262
|
});
|
|
1266
1263
|
importDeclarations.create(decorate);
|
|
1267
1264
|
}
|
|
@@ -1406,7 +1403,7 @@ function outputType(outputType2, args) {
|
|
|
1406
1403
|
if (propertySettings) {
|
|
1407
1404
|
importDeclarations.create({ ...propertySettings });
|
|
1408
1405
|
} else if (propertyType.includes("Decimal")) {
|
|
1409
|
-
importDeclarations.add("Decimal",
|
|
1406
|
+
importDeclarations.add("Decimal", `${config.prismaClientImport}/runtime/library`);
|
|
1410
1407
|
}
|
|
1411
1408
|
let graphqlType;
|
|
1412
1409
|
const shouldHideField = (settings == null ? void 0 : settings.shouldHideField({
|
|
@@ -1453,7 +1450,7 @@ function outputType(outputType2, args) {
|
|
|
1453
1450
|
name: "Field",
|
|
1454
1451
|
arguments: [
|
|
1455
1452
|
isList ? `() => [${graphqlType}]` : `() => ${graphqlType}`,
|
|
1456
|
-
|
|
1453
|
+
JSON5.stringify({
|
|
1457
1454
|
...settings == null ? void 0 : settings.fieldArguments(),
|
|
1458
1455
|
nullable: Boolean(field.isNullable)
|
|
1459
1456
|
})
|
|
@@ -1686,7 +1683,7 @@ function createConfig(data) {
|
|
|
1686
1683
|
const configOutputFilePattern = String(
|
|
1687
1684
|
config.outputFilePattern || `{model}/{name}.{type}.ts`
|
|
1688
1685
|
);
|
|
1689
|
-
let outputFilePattern =
|
|
1686
|
+
let outputFilePattern = filenamify(configOutputFilePattern, {
|
|
1690
1687
|
replacement: "/"
|
|
1691
1688
|
}).replaceAll("..", "/").replaceAll(/\/+/g, "/");
|
|
1692
1689
|
outputFilePattern = lodash.trim(outputFilePattern, "/");
|
|
@@ -1729,19 +1726,20 @@ function createConfig(data) {
|
|
|
1729
1726
|
`Missed 'from' or 'name' part in configuration for decorate`
|
|
1730
1727
|
);
|
|
1731
1728
|
decorate.push({
|
|
1732
|
-
isMatchField:
|
|
1733
|
-
isMatchType:
|
|
1729
|
+
isMatchField: outmatch(element.field, { separator: false }),
|
|
1730
|
+
isMatchType: outmatch(element.type, { separator: false }),
|
|
1734
1731
|
from: element.from,
|
|
1735
1732
|
name: element.name,
|
|
1736
1733
|
namedImport: toBoolean(element.namedImport),
|
|
1737
1734
|
defaultImport: toBoolean(element.defaultImport) ? true : element.defaultImport,
|
|
1738
1735
|
namespaceImport: element.namespaceImport,
|
|
1739
|
-
arguments: element.arguments ?
|
|
1736
|
+
arguments: element.arguments ? JSON5.parse(element.arguments) : void 0
|
|
1740
1737
|
});
|
|
1741
1738
|
}
|
|
1742
1739
|
return {
|
|
1743
1740
|
outputFilePattern,
|
|
1744
1741
|
tsConfigFilePath: createTsConfigFilePathValue(config.tsConfigFilePath),
|
|
1742
|
+
prismaClientImport: createPrismaImport(config.prismaClientImport),
|
|
1745
1743
|
combineScalarFilters: toBoolean(config.combineScalarFilters),
|
|
1746
1744
|
noAtomicOperations: toBoolean(config.noAtomicOperations),
|
|
1747
1745
|
reExport: ReExport[String(config.reExport)] || ReExport.None,
|
|
@@ -1757,6 +1755,9 @@ function createConfig(data) {
|
|
|
1757
1755
|
requireSingleFieldsInWhereUniqueInput: toBoolean(
|
|
1758
1756
|
config.requireSingleFieldsInWhereUniqueInput
|
|
1759
1757
|
),
|
|
1758
|
+
unsafeCompatibleWhereUniqueInput: toBoolean(
|
|
1759
|
+
config.unsafeCompatibleWhereUniqueInput
|
|
1760
|
+
),
|
|
1760
1761
|
graphqlScalars: config.graphqlScalars || {},
|
|
1761
1762
|
decorate
|
|
1762
1763
|
};
|
|
@@ -1770,6 +1771,11 @@ function createTsConfigFilePathValue(value) {
|
|
|
1770
1771
|
if (tsConfigFileExists("tsconfig.json"))
|
|
1771
1772
|
return "tsconfig.json";
|
|
1772
1773
|
}
|
|
1774
|
+
function createPrismaImport(value) {
|
|
1775
|
+
if (typeof value === "string")
|
|
1776
|
+
return value;
|
|
1777
|
+
return "@prisma/client";
|
|
1778
|
+
}
|
|
1773
1779
|
function createUseInputType(data) {
|
|
1774
1780
|
if (!data) {
|
|
1775
1781
|
return [];
|
|
@@ -1797,7 +1803,7 @@ function toBoolean(value) {
|
|
|
1797
1803
|
|
|
1798
1804
|
function generateFileName(args) {
|
|
1799
1805
|
const { template, type, name, getModelName } = args;
|
|
1800
|
-
return
|
|
1806
|
+
return pupa(template, {
|
|
1801
1807
|
type,
|
|
1802
1808
|
get model() {
|
|
1803
1809
|
const result = getModelName(name) || "prisma";
|
|
@@ -1815,7 +1821,7 @@ function generateFileName(args) {
|
|
|
1815
1821
|
},
|
|
1816
1822
|
plural: {
|
|
1817
1823
|
get type() {
|
|
1818
|
-
return
|
|
1824
|
+
return pluralize(type);
|
|
1819
1825
|
}
|
|
1820
1826
|
}
|
|
1821
1827
|
});
|
|
@@ -1962,7 +1968,7 @@ async function generate(args) {
|
|
|
1962
1968
|
const generatorOutputValue = (_a = generator.output) == null ? void 0 : _a.value;
|
|
1963
1969
|
assert.ok(generatorOutputValue, "Missing generator configuration: output");
|
|
1964
1970
|
const config = createConfig(generator.config);
|
|
1965
|
-
const eventEmitter = new
|
|
1971
|
+
const eventEmitter = new AwaitEventEmitter();
|
|
1966
1972
|
eventEmitter.on("Warning", warning);
|
|
1967
1973
|
config.emitBlocks.models && eventEmitter.on("Model", modelData);
|
|
1968
1974
|
if (config.emitBlocks.prismaEnums || config.emitBlocks.schemaEnums) {
|
package/generate.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ declare namespace DMMF {
|
|
|
78
78
|
hasDefaultValue: boolean;
|
|
79
79
|
default?: FieldDefault | FieldDefaultScalar | FieldDefaultScalar[];
|
|
80
80
|
relationFromFields?: string[];
|
|
81
|
-
relationToFields?:
|
|
81
|
+
relationToFields?: string[];
|
|
82
82
|
relationOnDelete?: string;
|
|
83
83
|
relationName?: string;
|
|
84
84
|
documentation?: string;
|
|
@@ -230,6 +230,7 @@ type DecorateElement = {
|
|
|
230
230
|
declare function createConfig(data: Record<string, unknown>): {
|
|
231
231
|
outputFilePattern: string;
|
|
232
232
|
tsConfigFilePath: string | undefined;
|
|
233
|
+
prismaClientImport: string;
|
|
233
234
|
combineScalarFilters: boolean;
|
|
234
235
|
noAtomicOperations: boolean;
|
|
235
236
|
reExport: ReExport;
|
|
@@ -243,6 +244,7 @@ declare function createConfig(data: Record<string, unknown>): {
|
|
|
243
244
|
useInputType: ConfigInputItem[];
|
|
244
245
|
noTypeId: boolean;
|
|
245
246
|
requireSingleFieldsInWhereUniqueInput: boolean;
|
|
247
|
+
unsafeCompatibleWhereUniqueInput: boolean;
|
|
246
248
|
graphqlScalars: Record<string, ImportNameSpec | undefined>;
|
|
247
249
|
decorate: DecorateElement[];
|
|
248
250
|
};
|
package/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
export {
|
|
2
|
+
export { }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prisma-nestjs-graphql",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.3.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Generate object types, inputs, args, etc. from prisma schema file for usage with @nestjs/graphql module",
|
|
6
6
|
"bin": "bin.js",
|
|
@@ -52,8 +52,10 @@
|
|
|
52
52
|
"eslint:fix": "npm run eslint -- --fix",
|
|
53
53
|
"build": "sh Taskfile build",
|
|
54
54
|
"prisma:g": "node node_modules/prisma/build/index.js generate",
|
|
55
|
+
"prisma:custom:g": "node node_modules/prisma/build/index.js generate --schema=./custom-package-generator/schema.prisma",
|
|
55
56
|
"format": "npx prettier ./@generated --write",
|
|
56
57
|
"regen": "rm -rf @generated && npm run prisma:g && npm run format",
|
|
58
|
+
"regen:custom": "rm -rf @generated-custom && npm run prisma:custom:g && npm run format",
|
|
57
59
|
"rt": "npm run regen && npm test",
|
|
58
60
|
"example": "node-dev example/main.ts",
|
|
59
61
|
"clean_cache": "rm -rf node_modules/.cache",
|
|
@@ -70,10 +72,10 @@
|
|
|
70
72
|
}
|
|
71
73
|
},
|
|
72
74
|
"dependencies": {
|
|
73
|
-
"@prisma/generator-helper": "^5.
|
|
75
|
+
"@prisma/generator-helper": "^5.6.0",
|
|
74
76
|
"await-event-emitter": "^2.0.2",
|
|
75
77
|
"filenamify": "4.X",
|
|
76
|
-
"flat": "
|
|
78
|
+
"flat": "5.X",
|
|
77
79
|
"get-relative-path": "^1.0.2",
|
|
78
80
|
"graceful-fs": "^4.2.11",
|
|
79
81
|
"json5": "^2.2.3",
|
|
@@ -84,69 +86,66 @@
|
|
|
84
86
|
"ts-morph": ">=11 <=16"
|
|
85
87
|
},
|
|
86
88
|
"devDependencies": {
|
|
87
|
-
"@commitlint/cli": "^
|
|
88
|
-
"@commitlint/config-conventional": "^
|
|
89
|
-
"@nestjs/apollo": "^12.0.
|
|
90
|
-
"@nestjs/common": "^10.
|
|
91
|
-
"@nestjs/core": "^10.
|
|
92
|
-
"@nestjs/graphql": "^12.0.
|
|
93
|
-
"@nestjs/platform-express": "^10.
|
|
94
|
-
"@paljs/plugins": "^
|
|
95
|
-
"@prisma/client": "^5.
|
|
89
|
+
"@commitlint/cli": "^18.4.3",
|
|
90
|
+
"@commitlint/config-conventional": "^18.4.3",
|
|
91
|
+
"@nestjs/apollo": "^12.0.11",
|
|
92
|
+
"@nestjs/common": "^10.2.10",
|
|
93
|
+
"@nestjs/core": "^10.2.10",
|
|
94
|
+
"@nestjs/graphql": "^12.0.11",
|
|
95
|
+
"@nestjs/platform-express": "^10.2.10",
|
|
96
|
+
"@paljs/plugins": "^6.0.7",
|
|
97
|
+
"@prisma/client": "^5.6.0",
|
|
96
98
|
"@semantic-release/changelog": "^6.0.3",
|
|
97
99
|
"@semantic-release/git": "^10.0.1",
|
|
98
|
-
"@swc/core": "^1.3.
|
|
99
|
-
"@swc/helpers": "^0.5.
|
|
100
|
+
"@swc/core": "^1.3.99",
|
|
101
|
+
"@swc/helpers": "^0.5.3",
|
|
100
102
|
"@swc/register": "^0.1.10",
|
|
101
|
-
"@types/flat": "^5.0.
|
|
102
|
-
"@types/graceful-fs": "^4.1.
|
|
103
|
-
"@types/lodash": "^4.14.
|
|
104
|
-
"@types/mocha": "^10.0.
|
|
105
|
-
"@types/node": "^20.
|
|
106
|
-
"@types/pluralize": "^0.0.
|
|
107
|
-
"@typescript-eslint/eslint-plugin": "^6.
|
|
108
|
-
"@typescript-eslint/parser": "^6.
|
|
109
|
-
"apollo-server-express": "^3.
|
|
103
|
+
"@types/flat": "^5.0.5",
|
|
104
|
+
"@types/graceful-fs": "^4.1.9",
|
|
105
|
+
"@types/lodash": "^4.14.202",
|
|
106
|
+
"@types/mocha": "^10.0.6",
|
|
107
|
+
"@types/node": "^20.10.0",
|
|
108
|
+
"@types/pluralize": "^0.0.33",
|
|
109
|
+
"@typescript-eslint/eslint-plugin": "^6.12.0",
|
|
110
|
+
"@typescript-eslint/parser": "^6.12.0",
|
|
111
|
+
"apollo-server-express": "^3.13.0",
|
|
110
112
|
"c8": "^8.0.1",
|
|
111
113
|
"class-transformer": "^0.5.1",
|
|
112
114
|
"class-validator": "^0.14.0",
|
|
113
115
|
"commitizen": "^4.3.0",
|
|
114
116
|
"cz-customizable": "^7.0.0",
|
|
115
117
|
"decimal.js": "^10.4.3",
|
|
116
|
-
"eslint": "^8.
|
|
117
|
-
"eslint-import-resolver-node": "^0.3.
|
|
118
|
+
"eslint": "^8.54.0",
|
|
119
|
+
"eslint-import-resolver-node": "^0.3.9",
|
|
118
120
|
"eslint-plugin-etc": "^2.0.3",
|
|
119
|
-
"eslint-plugin-import": "^2.
|
|
121
|
+
"eslint-plugin-import": "^2.29.0",
|
|
120
122
|
"eslint-plugin-only-warn": "^1.1.0",
|
|
121
|
-
"eslint-plugin-prettier": "^5.0.
|
|
123
|
+
"eslint-plugin-prettier": "^5.0.1",
|
|
122
124
|
"eslint-plugin-regexp": "^1.15.0",
|
|
123
125
|
"eslint-plugin-simple-import-sort": "^10.0.0",
|
|
124
|
-
"eslint-plugin-sort-class-members": "^1.
|
|
125
|
-
"eslint-plugin-unicorn": "^
|
|
126
|
+
"eslint-plugin-sort-class-members": "^1.19.0",
|
|
127
|
+
"eslint-plugin-unicorn": "^49.0.0",
|
|
126
128
|
"eslint-plugin-wix-editor": "^3.3.0",
|
|
127
|
-
"expect": "^29.
|
|
129
|
+
"expect": "^29.7.0",
|
|
128
130
|
"git-branch-is": "^4.0.0",
|
|
129
|
-
"graphql": "^16.
|
|
130
|
-
"graphql-scalars": "^1.22.
|
|
131
|
+
"graphql": "^16.8.1",
|
|
132
|
+
"graphql-scalars": "^1.22.4",
|
|
131
133
|
"graphql-type-json": "^0.3.2",
|
|
132
134
|
"mocha": "^10.2.0",
|
|
133
135
|
"ololog": "^1.1.175",
|
|
134
136
|
"precise-commits": "^1.0.2",
|
|
135
|
-
"prettier": "^3.0
|
|
136
|
-
"prisma": "^5.
|
|
137
|
+
"prettier": "^3.1.0",
|
|
138
|
+
"prisma": "^5.6.0",
|
|
137
139
|
"prisma-graphql-type-decimal": "^3.0.0",
|
|
138
140
|
"reflect-metadata": "^0.1.13",
|
|
139
141
|
"request": "^2.88.2",
|
|
140
142
|
"rxjs": "^7.8.1",
|
|
141
|
-
"semantic-release": "^
|
|
143
|
+
"semantic-release": "^22.0.8",
|
|
142
144
|
"simplytyped": "^3.3.0",
|
|
143
145
|
"temp-dir": "2.X",
|
|
144
146
|
"ts-node": "^10.9.1",
|
|
145
|
-
"tslib": "^2.6.
|
|
146
|
-
"typescript": "^5.
|
|
147
|
+
"tslib": "^2.6.2",
|
|
148
|
+
"typescript": "^5.3.2",
|
|
147
149
|
"watchexec-bin": "^1.0.0"
|
|
148
|
-
},
|
|
149
|
-
"overrides": {
|
|
150
|
-
"prisma": "^5.1.1"
|
|
151
150
|
}
|
|
152
151
|
}
|