@lexmata/prisma-ent-generator 0.2.0 → 0.2.2
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/dist/bin.js +0 -0
- package/dist/helpers/edge.d.ts.map +1 -1
- package/dist/helpers/edge.js +9 -5
- package/dist/helpers/edge.js.map +1 -1
- package/dist/helpers/entfiles.js +1 -1
- package/dist/helpers/entfiles.js.map +1 -1
- package/dist/helpers/field.d.ts.map +1 -1
- package/dist/helpers/field.js +25 -8
- package/dist/helpers/field.js.map +1 -1
- package/dist/helpers/schema.d.ts.map +1 -1
- package/dist/helpers/schema.js +12 -11
- package/dist/helpers/schema.js.map +1 -1
- package/dist/utils.d.ts +5 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +23 -1
- package/dist/utils.js.map +1 -1
- package/package.json +10 -9
package/dist/bin.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/helpers/edge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/helpers/edge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAChC,OAAO,EAAE,SAAS,GACjB,MAAM,EAAE,CAcV"}
|
package/dist/helpers/edge.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateEdges = generateEdges;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
4
5
|
/**
|
|
5
6
|
* Generate the Ent edge definition lines for a given model.
|
|
6
7
|
*
|
|
@@ -36,8 +37,8 @@ function generateEdge(field, currentModel, allModels) {
|
|
|
36
37
|
const targetModel = allModels.find((m) => m.name === targetModelName);
|
|
37
38
|
if (!targetModel)
|
|
38
39
|
return null;
|
|
39
|
-
// Find the inverse relation field on the target model
|
|
40
|
-
const inverseField = targetModel.fields.find((f) => f.kind === 'object' && f.relationName === field.relationName);
|
|
40
|
+
// Find the inverse relation field on the target model (exclude the current field for self-refs)
|
|
41
|
+
const inverseField = targetModel.fields.find((f) => f.kind === 'object' && f.relationName === field.relationName && f.name !== field.name);
|
|
41
42
|
const hasFK = field.relationFromFields !== undefined && field.relationFromFields.length > 0;
|
|
42
43
|
const inverseHasFK = inverseField?.relationFromFields !== undefined &&
|
|
43
44
|
inverseField.relationFromFields.length > 0;
|
|
@@ -59,7 +60,8 @@ function generateEdge(field, currentModel, allModels) {
|
|
|
59
60
|
function buildEdgeFrom(field, edgeName, targetModelName, inverseField) {
|
|
60
61
|
const refName = inverseField ? inverseField.name : targetModelName;
|
|
61
62
|
const parts = [];
|
|
62
|
-
|
|
63
|
+
const safeTarget = (0, utils_1.safeGoTypeName)(targetModelName);
|
|
64
|
+
parts.push(`edge.From("${edgeName}", ${safeTarget}.Type)`);
|
|
63
65
|
parts.push(`.Ref("${refName}")`);
|
|
64
66
|
parts.push('.Unique()');
|
|
65
67
|
// Bind the FK field to this edge
|
|
@@ -76,8 +78,9 @@ function buildEdgeFrom(field, edgeName, targetModelName, inverseField) {
|
|
|
76
78
|
* Build an edge.To definition (this model owns the relation).
|
|
77
79
|
*/
|
|
78
80
|
function buildEdgeTo(field, edgeName, targetModelName) {
|
|
81
|
+
const safeTarget = (0, utils_1.safeGoTypeName)(targetModelName);
|
|
79
82
|
const parts = [];
|
|
80
|
-
parts.push(`edge.To("${edgeName}", ${
|
|
83
|
+
parts.push(`edge.To("${edgeName}", ${safeTarget}.Type)`);
|
|
81
84
|
if (!field.isList) {
|
|
82
85
|
parts.push('.Unique()');
|
|
83
86
|
}
|
|
@@ -110,8 +113,9 @@ function buildImplicitEdge(field, edgeName, targetModelName, currentModelName, i
|
|
|
110
113
|
}
|
|
111
114
|
// Back-reference
|
|
112
115
|
const refName = inverseField ? inverseField.name : targetModelName;
|
|
116
|
+
const safeTarget = (0, utils_1.safeGoTypeName)(targetModelName);
|
|
113
117
|
const parts = [];
|
|
114
|
-
parts.push(`edge.From("${edgeName}", ${
|
|
118
|
+
parts.push(`edge.From("${edgeName}", ${safeTarget}.Type)`);
|
|
115
119
|
parts.push(`.Ref("${refName}")`);
|
|
116
120
|
if (!field.isList) {
|
|
117
121
|
parts.push('.Unique()');
|
package/dist/helpers/edge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/helpers/edge.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/helpers/edge.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/entfiles.js
CHANGED
|
@@ -14,7 +14,7 @@ function generateGenerateGo() {
|
|
|
14
14
|
lines.push((0, utils_1.fileHeader)());
|
|
15
15
|
lines.push('package ent');
|
|
16
16
|
lines.push('');
|
|
17
|
-
lines.push('//go:generate go run
|
|
17
|
+
lines.push('//go:generate go run entgo.io/ent/cmd/ent generate ./schema');
|
|
18
18
|
lines.push('');
|
|
19
19
|
return lines.join('\n');
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entfiles.js","sourceRoot":"","sources":["../../src/helpers/entfiles.ts"],"names":[],"mappings":";;AAQA,gDAUC;AAWD,wCAwBC;AArDD,oCAAsC;AAEtC;;;;;GAKG;AACH,SAAgB,kBAAkB;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,GAAE,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"entfiles.js","sourceRoot":"","sources":["../../src/helpers/entfiles.ts"],"names":[],"mappings":";;AAQA,gDAUC;AAWD,wCAwBC;AArDD,oCAAsC;AAEtC;;;;;GAKG;AACH,SAAgB,kBAAkB;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,GAAE,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,cAAc;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,GAAE,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/helpers/field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAML,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAU9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EACzC,OAAO,EAAE,SAAS,GACjB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/helpers/field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAML,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAU9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EACzC,OAAO,EAAE,SAAS,GACjB,MAAM,EAAE,CA4BV"}
|
package/dist/helpers/field.js
CHANGED
|
@@ -31,6 +31,16 @@ function collectFKFieldNames(fields) {
|
|
|
31
31
|
* @returns An array of Go code strings, each representing one `field.X(...)` call.
|
|
32
32
|
*/
|
|
33
33
|
function generateFields(fields, fkFieldNames, enumDefs, imports) {
|
|
34
|
+
// Build set of FK fields whose relation is optional.
|
|
35
|
+
// In Ent, FK field optionality must match edge optionality.
|
|
36
|
+
const optionalRelationFKs = new Set();
|
|
37
|
+
for (const f of fields) {
|
|
38
|
+
if (f.kind === 'object' && !f.isRequired && f.relationFromFields) {
|
|
39
|
+
for (const fk of f.relationFromFields) {
|
|
40
|
+
optionalRelationFKs.add(fk);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
34
44
|
const lines = [];
|
|
35
45
|
for (const f of fields) {
|
|
36
46
|
// Skip relation fields — they become edges
|
|
@@ -39,7 +49,7 @@ function generateFields(fields, fkFieldNames, enumDefs, imports) {
|
|
|
39
49
|
// Skip unsupported fields (e.g., vector types)
|
|
40
50
|
if (f.kind === 'unsupported')
|
|
41
51
|
continue;
|
|
42
|
-
const line = generateField(f, fkFieldNames, enumDefs, imports);
|
|
52
|
+
const line = generateField(f, fkFieldNames, enumDefs, imports, optionalRelationFKs);
|
|
43
53
|
if (line !== null) {
|
|
44
54
|
lines.push(line);
|
|
45
55
|
}
|
|
@@ -50,7 +60,7 @@ function generateFields(fields, fkFieldNames, enumDefs, imports) {
|
|
|
50
60
|
* Generate a single Ent field definition from a Prisma DMMF field.
|
|
51
61
|
* Returns null if the field should be skipped.
|
|
52
62
|
*/
|
|
53
|
-
function generateField(field, fkFieldNames, enumDefs, imports) {
|
|
63
|
+
function generateField(field, fkFieldNames, enumDefs, imports, optionalRelationFKs) {
|
|
54
64
|
// Handle @id fields
|
|
55
65
|
if (field.isId) {
|
|
56
66
|
return generateIdField(field, imports);
|
|
@@ -60,7 +70,7 @@ function generateField(field, fkFieldNames, enumDefs, imports) {
|
|
|
60
70
|
if (field.kind === 'enum') {
|
|
61
71
|
return generateEnumField(field, fieldName, enumDefs, imports);
|
|
62
72
|
}
|
|
63
|
-
return generateScalarField(field, fieldName, fkFieldNames, imports);
|
|
73
|
+
return generateScalarField(field, fieldName, fkFieldNames, imports, optionalRelationFKs);
|
|
64
74
|
}
|
|
65
75
|
/**
|
|
66
76
|
* Generate an @id field. Returns null for the default Int autoincrement case
|
|
@@ -122,7 +132,7 @@ function generateIdField(field, imports) {
|
|
|
122
132
|
/**
|
|
123
133
|
* Generate a scalar (non-enum, non-relation) Ent field definition.
|
|
124
134
|
*/
|
|
125
|
-
function generateScalarField(field, fieldName, fkFieldNames, imports) {
|
|
135
|
+
function generateScalarField(field, fieldName, fkFieldNames, imports, optionalRelationFKs) {
|
|
126
136
|
// JSON fields have special syntax in Ent: field.JSON("name", type)
|
|
127
137
|
if (field.type === 'Json') {
|
|
128
138
|
return generateJsonField(field, fieldName, imports);
|
|
@@ -150,8 +160,10 @@ function generateScalarField(field, fieldName, fkFieldNames, imports) {
|
|
|
150
160
|
if (field.isUnique) {
|
|
151
161
|
parts.push('.Unique()');
|
|
152
162
|
}
|
|
153
|
-
// Optional
|
|
154
|
-
|
|
163
|
+
// Optional — also mark FK fields as optional when their relation is optional,
|
|
164
|
+
// because Ent requires FK field optionality to match edge optionality.
|
|
165
|
+
const isOptional = !field.isRequired || (optionalRelationFKs?.has(field.name) ?? false);
|
|
166
|
+
if (isOptional) {
|
|
155
167
|
parts.push('.Optional()');
|
|
156
168
|
}
|
|
157
169
|
// Handle @updatedAt (must come before default handling to avoid double-default)
|
|
@@ -163,7 +175,7 @@ function generateScalarField(field, fieldName, fkFieldNames, imports) {
|
|
|
163
175
|
}
|
|
164
176
|
// Handle defaults
|
|
165
177
|
if (field.hasDefaultValue && field.default !== undefined) {
|
|
166
|
-
const defaultStr = formatDefault(field.default, field.type, imports);
|
|
178
|
+
const defaultStr = formatDefault(field.default, field.type, imports, (0, type_map_1.isUuidNativeType)(nativeType));
|
|
167
179
|
if (defaultStr) {
|
|
168
180
|
parts.push(defaultStr);
|
|
169
181
|
}
|
|
@@ -224,7 +236,7 @@ function generateEnumField(field, fieldName, enumDefs, imports) {
|
|
|
224
236
|
* Format a Prisma default value into an Ent `.Default(...)` or `.DefaultFunc(...)` call.
|
|
225
237
|
* Returns null if the default should be skipped (e.g., autoincrement).
|
|
226
238
|
*/
|
|
227
|
-
function formatDefault(defaultValue, prismaType, imports) {
|
|
239
|
+
function formatDefault(defaultValue, prismaType, imports, isUuidField = false) {
|
|
228
240
|
if (defaultValue === undefined || defaultValue === null) {
|
|
229
241
|
return null;
|
|
230
242
|
}
|
|
@@ -263,6 +275,11 @@ function formatDefault(defaultValue, prismaType, imports) {
|
|
|
263
275
|
if (prismaType === 'BigInt' && /^-?\d+$/.test(defaultValue)) {
|
|
264
276
|
return `.Default(${defaultValue})`;
|
|
265
277
|
}
|
|
278
|
+
// UUID fields require func() uuid.UUID for defaults, not a bare value.
|
|
279
|
+
if (isUuidField) {
|
|
280
|
+
imports.uuid = true;
|
|
281
|
+
return `.Default(func() uuid.UUID { return uuid.MustParse("${escapeGoString(defaultValue)}") })`;
|
|
282
|
+
}
|
|
266
283
|
return `.Default("${escapeGoString(defaultValue)}")`;
|
|
267
284
|
}
|
|
268
285
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/helpers/field.ts"],"names":[],"mappings":";;AAcA,kDAUC;AAcD,
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/helpers/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/helpers/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAMrD;;;GAGG;AACH,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EACzC,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,GAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/helpers/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAMrD;;;GAGG;AACH,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EACzC,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,GAC7B,MAAM,CAiHR"}
|
package/dist/helpers/schema.js
CHANGED
|
@@ -19,6 +19,7 @@ const utils_1 = require("../utils");
|
|
|
19
19
|
*/
|
|
20
20
|
function generateSchema(model, allModels, enumDefs, indexes) {
|
|
21
21
|
const imports = (0, type_map_1.createEmptyImports)();
|
|
22
|
+
const typeName = (0, utils_1.safeGoTypeName)(model.name);
|
|
22
23
|
// Build enum lookup for this model's enum fields
|
|
23
24
|
const fkFieldNames = (0, field_1.collectFKFieldNames)(model.fields);
|
|
24
25
|
const fieldLines = (0, field_1.generateFields)(model.fields, fkFieldNames, enumDefs, imports);
|
|
@@ -54,18 +55,18 @@ function generateSchema(model, allModels, enumDefs, indexes) {
|
|
|
54
55
|
lines.push('');
|
|
55
56
|
// Struct definition
|
|
56
57
|
if (model.documentation) {
|
|
57
|
-
lines.push(`// ${
|
|
58
|
+
lines.push(`// ${typeName} ${model.documentation}`);
|
|
58
59
|
}
|
|
59
60
|
else {
|
|
60
|
-
lines.push(`// ${
|
|
61
|
+
lines.push(`// ${typeName} holds the schema definition for the ${typeName} entity.`);
|
|
61
62
|
}
|
|
62
|
-
lines.push(`type ${
|
|
63
|
+
lines.push(`type ${typeName} struct {`);
|
|
63
64
|
lines.push('\tent.Schema');
|
|
64
65
|
lines.push('}');
|
|
65
66
|
lines.push('');
|
|
66
67
|
// Fields() method
|
|
67
|
-
lines.push(`// Fields of the ${
|
|
68
|
-
lines.push(`func (${
|
|
68
|
+
lines.push(`// Fields of the ${typeName}.`);
|
|
69
|
+
lines.push(`func (${typeName}) Fields() []ent.Field {`);
|
|
69
70
|
if (fieldLines.length === 0) {
|
|
70
71
|
lines.push('\treturn nil');
|
|
71
72
|
}
|
|
@@ -79,8 +80,8 @@ function generateSchema(model, allModels, enumDefs, indexes) {
|
|
|
79
80
|
lines.push('}');
|
|
80
81
|
lines.push('');
|
|
81
82
|
// Edges() method
|
|
82
|
-
lines.push(`// Edges of the ${
|
|
83
|
-
lines.push(`func (${
|
|
83
|
+
lines.push(`// Edges of the ${typeName}.`);
|
|
84
|
+
lines.push(`func (${typeName}) Edges() []ent.Edge {`);
|
|
84
85
|
if (edgeLines.length === 0) {
|
|
85
86
|
lines.push('\treturn nil');
|
|
86
87
|
}
|
|
@@ -95,8 +96,8 @@ function generateSchema(model, allModels, enumDefs, indexes) {
|
|
|
95
96
|
lines.push('');
|
|
96
97
|
// Indexes() method (if applicable)
|
|
97
98
|
if (indexLines.length > 0) {
|
|
98
|
-
lines.push(`// Indexes of the ${
|
|
99
|
-
lines.push(`func (${
|
|
99
|
+
lines.push(`// Indexes of the ${typeName}.`);
|
|
100
|
+
lines.push(`func (${typeName}) Indexes() []ent.Index {`);
|
|
100
101
|
lines.push('\treturn []ent.Index{');
|
|
101
102
|
for (const il of indexLines) {
|
|
102
103
|
lines.push(`\t\t${il},`);
|
|
@@ -107,8 +108,8 @@ function generateSchema(model, allModels, enumDefs, indexes) {
|
|
|
107
108
|
}
|
|
108
109
|
// Annotations() method (if @@map is used)
|
|
109
110
|
if (hasTableMapping) {
|
|
110
|
-
lines.push(`// Annotations of the ${
|
|
111
|
-
lines.push(`func (${
|
|
111
|
+
lines.push(`// Annotations of the ${typeName}.`);
|
|
112
|
+
lines.push(`func (${typeName}) Annotations() []schema.Annotation {`);
|
|
112
113
|
lines.push('\treturn []schema.Annotation{');
|
|
113
114
|
lines.push(`\t\tentsql.Annotation{Table: "${model.dbName}"},`);
|
|
114
115
|
lines.push('\t}');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/helpers/schema.ts"],"names":[],"mappings":";;AA+BA,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/helpers/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
* toSnakeCase("authorId") // "author_id"
|
|
8
8
|
*/
|
|
9
9
|
export declare function toSnakeCase(str: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Return a Go-safe type name for a Prisma model.
|
|
12
|
+
* Appends "Entity" if the model name conflicts with a Go keyword.
|
|
13
|
+
*/
|
|
14
|
+
export declare function safeGoTypeName(modelName: string): string;
|
|
10
15
|
/**
|
|
11
16
|
* Convert a PascalCase model name to a lowercase file name for Go files.
|
|
12
17
|
*
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAKnC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,MAAM,CAM5D"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAcD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAKnC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,MAAM,CAM5D"}
|
package/dist/utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toSnakeCase = toSnakeCase;
|
|
4
|
+
exports.safeGoTypeName = safeGoTypeName;
|
|
4
5
|
exports.modelToFileName = modelToFileName;
|
|
5
6
|
exports.fileHeader = fileHeader;
|
|
6
7
|
exports.indent = indent;
|
|
@@ -18,6 +19,27 @@ function toSnakeCase(str) {
|
|
|
18
19
|
.replace(/([A-Z])([A-Z][a-z])/g, '$1_$2')
|
|
19
20
|
.toLowerCase();
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Go reserved keywords (lowercase).
|
|
24
|
+
* If a Prisma model name lowercases to one of these, the generated
|
|
25
|
+
* Go type name gets an "Entity" suffix to avoid compilation errors.
|
|
26
|
+
*/
|
|
27
|
+
const GO_KEYWORDS = new Set([
|
|
28
|
+
'break', 'case', 'chan', 'const', 'continue', 'default', 'defer',
|
|
29
|
+
'else', 'fallthrough', 'for', 'func', 'go', 'goto', 'if', 'import',
|
|
30
|
+
'interface', 'map', 'package', 'range', 'return', 'select', 'struct',
|
|
31
|
+
'switch', 'type', 'var',
|
|
32
|
+
]);
|
|
33
|
+
/**
|
|
34
|
+
* Return a Go-safe type name for a Prisma model.
|
|
35
|
+
* Appends "Entity" if the model name conflicts with a Go keyword.
|
|
36
|
+
*/
|
|
37
|
+
function safeGoTypeName(modelName) {
|
|
38
|
+
if (GO_KEYWORDS.has(modelName.toLowerCase())) {
|
|
39
|
+
return `${modelName}Entity`;
|
|
40
|
+
}
|
|
41
|
+
return modelName;
|
|
42
|
+
}
|
|
21
43
|
/**
|
|
22
44
|
* Convert a PascalCase model name to a lowercase file name for Go files.
|
|
23
45
|
*
|
|
@@ -26,7 +48,7 @@ function toSnakeCase(str) {
|
|
|
26
48
|
* modelToFileName("BlogPost") // "blog_post"
|
|
27
49
|
*/
|
|
28
50
|
function modelToFileName(modelName) {
|
|
29
|
-
return toSnakeCase(modelName);
|
|
51
|
+
return toSnakeCase(safeGoTypeName(modelName));
|
|
30
52
|
}
|
|
31
53
|
/**
|
|
32
54
|
* Generate a Go file header comment indicating the file is auto-generated.
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAQA,kCAKC;AASD,0CAEC;AAKD,gCAKC;AAKD,wBAMC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAQA,kCAKC;AAkBD,wCAKC;AASD,0CAEC;AAKD,gCAKC;AAKD,wBAMC;AApED;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG;SACP,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;SACxC,WAAW,EAAE,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO;IAChE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;IAClE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IACpE,QAAQ,EAAE,MAAM,EAAE,KAAK;CACxB,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAgB,cAAc,CAAC,SAAiB;IAC9C,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,SAAS,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,SAAiB;IAC/C,OAAO,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,OAAO;QACL,yDAAyD;QACzD,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,GAAW,EAAE,OAAe,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG;SACP,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lexmata/prisma-ent-generator",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Prisma generator that produces Go Ent schema files from your Prisma schema",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -14,6 +14,14 @@
|
|
|
14
14
|
"files": [
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc",
|
|
19
|
+
"dev": "tsc --watch",
|
|
20
|
+
"generate": "pnpm build && prisma generate",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"test:watch": "vitest",
|
|
23
|
+
"prepublishOnly": "pnpm build"
|
|
24
|
+
},
|
|
17
25
|
"keywords": [
|
|
18
26
|
"prisma",
|
|
19
27
|
"generator",
|
|
@@ -39,12 +47,5 @@
|
|
|
39
47
|
"prisma": "^6.0.0",
|
|
40
48
|
"typescript": "^5.7.0",
|
|
41
49
|
"vitest": "^3.0.0"
|
|
42
|
-
},
|
|
43
|
-
"scripts": {
|
|
44
|
-
"build": "tsc",
|
|
45
|
-
"dev": "tsc --watch",
|
|
46
|
-
"generate": "pnpm build && prisma generate",
|
|
47
|
-
"test": "vitest run",
|
|
48
|
-
"test:watch": "vitest"
|
|
49
50
|
}
|
|
50
|
-
}
|
|
51
|
+
}
|