prisma-effect-kysely 1.10.0 → 1.12.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/dist/effect/generator.d.ts +4 -0
- package/dist/effect/generator.d.ts.map +1 -1
- package/dist/effect/generator.js +7 -0
- package/dist/effect/generator.js.map +1 -1
- package/dist/effect/join-table.d.ts +4 -0
- package/dist/effect/join-table.d.ts.map +1 -1
- package/dist/effect/join-table.js +16 -0
- package/dist/effect/join-table.js.map +1 -1
- package/dist/effect/type.d.ts +1 -1
- package/dist/effect/type.d.ts.map +1 -1
- package/dist/effect/type.js +18 -12
- package/dist/effect/type.js.map +1 -1
- package/dist/generator/config.d.ts +58 -0
- package/dist/generator/config.d.ts.map +1 -0
- package/dist/generator/config.js +109 -0
- package/dist/generator/config.js.map +1 -0
- package/dist/generator/contract-scaffolder.d.ts +45 -0
- package/dist/generator/contract-scaffolder.d.ts.map +1 -0
- package/dist/generator/contract-scaffolder.js +244 -0
- package/dist/generator/contract-scaffolder.js.map +1 -0
- package/dist/generator/domain-detector.d.ts +50 -0
- package/dist/generator/domain-detector.d.ts.map +1 -0
- package/dist/generator/domain-detector.js +187 -0
- package/dist/generator/domain-detector.js.map +1 -0
- package/dist/generator/orchestrator.d.ts +24 -4
- package/dist/generator/orchestrator.d.ts.map +1 -1
- package/dist/generator/orchestrator.js +139 -21
- package/dist/generator/orchestrator.js.map +1 -1
- package/dist/kysely/generator.d.ts +4 -0
- package/dist/kysely/generator.d.ts.map +1 -1
- package/dist/kysely/generator.js +6 -0
- package/dist/kysely/generator.js.map +1 -1
- package/dist/kysely/helpers.d.ts +5 -1
- package/dist/kysely/helpers.d.ts.map +1 -1
- package/dist/kysely/helpers.js +54 -27
- package/dist/kysely/helpers.js.map +1 -1
- package/dist/kysely/type.d.ts +19 -2
- package/dist/kysely/type.d.ts.map +1 -1
- package/dist/kysely/type.js +82 -4
- package/dist/kysely/type.js.map +1 -1
- package/dist/utils/annotations.d.ts.map +1 -1
- package/dist/utils/codegen.d.ts.map +1 -1
- package/dist/utils/naming.d.ts.map +1 -1
- package/package.json +16 -13
package/dist/kysely/helpers.js
CHANGED
|
@@ -67,6 +67,57 @@ const generated = (schema) => {
|
|
|
67
67
|
return effect_1.Schema.asSchema(schema.annotations({ [exports.GeneratedId]: true }));
|
|
68
68
|
};
|
|
69
69
|
exports.generated = generated;
|
|
70
|
+
/**
|
|
71
|
+
* Schema for validating column type annotations structure
|
|
72
|
+
*/
|
|
73
|
+
const ColumnTypeSchemasValidator = effect_1.Schema.Struct({
|
|
74
|
+
selectSchema: effect_1.Schema.Any,
|
|
75
|
+
insertSchema: effect_1.Schema.Any,
|
|
76
|
+
updateSchema: effect_1.Schema.Any,
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* Extract and validate column type schemas from AST annotations
|
|
80
|
+
* Returns null if not a column type or validation fails
|
|
81
|
+
*/
|
|
82
|
+
function getColumnTypeSchemas(ast) {
|
|
83
|
+
if (!(exports.ColumnTypeId in ast.annotations)) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
const annotation = ast.annotations[exports.ColumnTypeId];
|
|
87
|
+
const decoded = effect_1.Schema.decodeUnknownOption(ColumnTypeSchemasValidator)(annotation);
|
|
88
|
+
if (decoded._tag === 'None') {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
// The decoded value has the correct structure, and the annotation
|
|
92
|
+
// was created by columnType() which ensures proper Schema types
|
|
93
|
+
return annotation;
|
|
94
|
+
}
|
|
95
|
+
const isGeneratedType = (ast) => exports.GeneratedId in ast.annotations;
|
|
96
|
+
const isOptionalType = (ast) => {
|
|
97
|
+
// Check for Union(T, Undefined) pattern
|
|
98
|
+
if (!AST.isUnion(ast)) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return (ast.types.some((t) => AST.isUndefinedKeyword(t)) ||
|
|
102
|
+
ast.types.some((t) => isNullType(t)));
|
|
103
|
+
};
|
|
104
|
+
const isNullType = (ast) => AST.isLiteral(ast) &&
|
|
105
|
+
Object.entries(ast.annotations).find(([sym, value]) => sym === AST.IdentifierAnnotationId.toString() && value === 'null');
|
|
106
|
+
const extractParametersFromTypeLiteral = (ast, schemaType) => {
|
|
107
|
+
return ast.propertySignatures
|
|
108
|
+
.map((prop) => {
|
|
109
|
+
const columnSchemas = getColumnTypeSchemas(prop.type);
|
|
110
|
+
if (columnSchemas !== null) {
|
|
111
|
+
return new AST.PropertySignature(prop.name, columnSchemas[schemaType].ast, prop.isOptional, prop.isReadonly, prop.annotations);
|
|
112
|
+
}
|
|
113
|
+
// Generated fields are just markers now, return as-is
|
|
114
|
+
return prop;
|
|
115
|
+
})
|
|
116
|
+
.filter((prop) => prop.type._tag !== 'NeverKeyword');
|
|
117
|
+
};
|
|
118
|
+
// ============================================================================
|
|
119
|
+
// Schema Functions
|
|
120
|
+
// ============================================================================
|
|
70
121
|
/**
|
|
71
122
|
* Create selectable schema from base schema
|
|
72
123
|
*/
|
|
@@ -90,9 +141,9 @@ const insertable = (schema) => {
|
|
|
90
141
|
// Extract and filter out generated fields entirely
|
|
91
142
|
const extracted = ast.propertySignatures
|
|
92
143
|
.map((prop) => {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return new AST.PropertySignature(prop.name,
|
|
144
|
+
const columnSchemas = getColumnTypeSchemas(prop.type);
|
|
145
|
+
if (columnSchemas !== null) {
|
|
146
|
+
return new AST.PropertySignature(prop.name, columnSchemas.insertSchema.ast, prop.isOptional, prop.isReadonly, prop.annotations);
|
|
96
147
|
}
|
|
97
148
|
// For generated fields, mark them for filtering
|
|
98
149
|
if (isGeneratedType(prop.type)) {
|
|
@@ -136,28 +187,4 @@ const getSchemas = (baseSchema) => ({
|
|
|
136
187
|
Updateable: (0, exports.updateable)(baseSchema),
|
|
137
188
|
});
|
|
138
189
|
exports.getSchemas = getSchemas;
|
|
139
|
-
const extractParametersFromTypeLiteral = (ast, schemaType) => {
|
|
140
|
-
return ast.propertySignatures
|
|
141
|
-
.map((prop) => {
|
|
142
|
-
if (isColumnType(prop.type)) {
|
|
143
|
-
const schemas = prop.type.annotations[exports.ColumnTypeId];
|
|
144
|
-
return new AST.PropertySignature(prop.name, schemas[schemaType].ast, prop.isOptional, prop.isReadonly, prop.annotations);
|
|
145
|
-
}
|
|
146
|
-
// Generated fields are just markers now, return as-is
|
|
147
|
-
return prop;
|
|
148
|
-
})
|
|
149
|
-
.filter((prop) => prop.type._tag !== 'NeverKeyword');
|
|
150
|
-
};
|
|
151
|
-
const isColumnType = (ast) => exports.ColumnTypeId in ast.annotations;
|
|
152
|
-
const isGeneratedType = (ast) => exports.GeneratedId in ast.annotations;
|
|
153
|
-
const isOptionalType = (ast) => {
|
|
154
|
-
// Check for Union(T, Undefined) pattern
|
|
155
|
-
if (!AST.isUnion(ast)) {
|
|
156
|
-
return false;
|
|
157
|
-
}
|
|
158
|
-
return (ast.types.some((t) => AST.isUndefinedKeyword(t)) ||
|
|
159
|
-
ast.types.some((t) => isNullType(t)));
|
|
160
|
-
};
|
|
161
|
-
const isNullType = (ast) => AST.isLiteral(ast) &&
|
|
162
|
-
Object.entries(ast.annotations).find(([sym, value]) => sym === AST.IdentifierAnnotationId.toString() && value === 'null');
|
|
163
190
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AACxC,mCAAgC;AAGhC;;;GAGG;AAEU,QAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC3C,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAQtD;;;GAGG;AACI,MAAM,UAAU,GAAG,CACxB,YAAgD,EAChD,YAAgD,EAChD,YAAgD,EACZ,EAAE;IACtC,MAAM,OAAO,GACX;QACE,YAAY;QACZ,YAAY;QACZ,YAAY;KACb,CAAC;IACJ,OAAO,eAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB;AAEF;;;;;;;GAOG;AACI,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/kysely/type.d.ts
CHANGED
|
@@ -23,14 +23,31 @@ export declare function applyMapDirective(fieldType: string, field: DMMF.Field):
|
|
|
23
23
|
* Order: base type � Kysely helpers � @map wrapper
|
|
24
24
|
*/
|
|
25
25
|
export declare function buildKyselyFieldType(baseFieldType: string, field: DMMF.Field): string;
|
|
26
|
+
/**
|
|
27
|
+
* Map Prisma scalar types to plain TypeScript types (for Kysely)
|
|
28
|
+
*/
|
|
29
|
+
export declare function mapPrismaTypeToTS(field: DMMF.Field, _dmmf: DMMF.Document): string;
|
|
30
|
+
/**
|
|
31
|
+
* Generate ColumnType wrapper for a field based on Prisma metadata
|
|
32
|
+
* Returns parameters for ColumnType<SelectType, InsertType, UpdateType>
|
|
33
|
+
*/
|
|
34
|
+
export declare function generateColumnTypeWrapper(field: DMMF.Field, baseType: string): string | null;
|
|
35
|
+
/**
|
|
36
|
+
* Generate field type for Kysely table interface
|
|
37
|
+
*/
|
|
38
|
+
export declare function generateKyselyFieldType(field: DMMF.Field, dmmf: DMMF.Document): string;
|
|
39
|
+
/**
|
|
40
|
+
* Generate Kysely table interface for a model
|
|
41
|
+
*/
|
|
42
|
+
export declare function generateKyselyTableInterface(model: DMMF.Model, fields: readonly DMMF.Field[], dmmf: DMMF.Document): string;
|
|
26
43
|
/**
|
|
27
44
|
* Generate DB interface entry for a model
|
|
28
|
-
* Uses
|
|
45
|
+
* Uses Kysely table interface for native compatibility
|
|
29
46
|
*/
|
|
30
47
|
export declare function generateDBInterfaceEntry(model: DMMF.Model): string;
|
|
31
48
|
/**
|
|
32
49
|
* Generate DB interface entry for a join table
|
|
33
|
-
* Uses
|
|
50
|
+
* Uses Kysely table interface for native compatibility
|
|
34
51
|
*/
|
|
35
52
|
export declare function generateJoinTableDBInterfaceEntry(joinTable: JoinTableInfo): string;
|
|
36
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/kysely/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,WAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,WAE/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAOtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAMrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAQ5E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,UAIzD;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,aAAa,UAGzE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAC7B,UAAU,GAAE,aAAa,EAAO,UAajC"}
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/kysely/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,WAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,WAE/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAOtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAMrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAQ5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,UA0BxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAY5E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,UAe7E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,GAClB,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,UAIzD;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,aAAa,UAGzE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAC7B,UAAU,GAAE,aAAa,EAAO,UAajC"}
|
package/dist/kysely/type.js
CHANGED
|
@@ -5,6 +5,10 @@ exports.needsGenerated = needsGenerated;
|
|
|
5
5
|
exports.applyKyselyHelpers = applyKyselyHelpers;
|
|
6
6
|
exports.applyMapDirective = applyMapDirective;
|
|
7
7
|
exports.buildKyselyFieldType = buildKyselyFieldType;
|
|
8
|
+
exports.mapPrismaTypeToTS = mapPrismaTypeToTS;
|
|
9
|
+
exports.generateColumnTypeWrapper = generateColumnTypeWrapper;
|
|
10
|
+
exports.generateKyselyFieldType = generateKyselyFieldType;
|
|
11
|
+
exports.generateKyselyTableInterface = generateKyselyTableInterface;
|
|
8
12
|
exports.generateDBInterfaceEntry = generateDBInterfaceEntry;
|
|
9
13
|
exports.generateJoinTableDBInterfaceEntry = generateJoinTableDBInterfaceEntry;
|
|
10
14
|
exports.generateDBInterface = generateDBInterface;
|
|
@@ -57,22 +61,96 @@ function buildKyselyFieldType(baseFieldType, field) {
|
|
|
57
61
|
fieldType = applyMapDirective(fieldType, field);
|
|
58
62
|
return fieldType;
|
|
59
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Map Prisma scalar types to plain TypeScript types (for Kysely)
|
|
66
|
+
*/
|
|
67
|
+
function mapPrismaTypeToTS(field, _dmmf) {
|
|
68
|
+
// Handle enums
|
|
69
|
+
if (field.kind === 'enum') {
|
|
70
|
+
return field.type;
|
|
71
|
+
}
|
|
72
|
+
// UUID detection
|
|
73
|
+
if ((0, type_1.isUuidField)(field)) {
|
|
74
|
+
return 'string'; // Kysely uses string for UUIDs
|
|
75
|
+
}
|
|
76
|
+
// Standard Prisma → TS mappings
|
|
77
|
+
const typeMap = {
|
|
78
|
+
String: 'string',
|
|
79
|
+
Int: 'number',
|
|
80
|
+
Float: 'number',
|
|
81
|
+
Boolean: 'boolean',
|
|
82
|
+
DateTime: 'Date',
|
|
83
|
+
Json: 'unknown',
|
|
84
|
+
Bytes: 'Buffer',
|
|
85
|
+
Decimal: 'string',
|
|
86
|
+
BigInt: 'string', // Kysely convention
|
|
87
|
+
};
|
|
88
|
+
const baseType = typeMap[field.type] || field.type;
|
|
89
|
+
return field.isList ? `Array<${baseType}>` : baseType;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Generate ColumnType wrapper for a field based on Prisma metadata
|
|
93
|
+
* Returns parameters for ColumnType<SelectType, InsertType, UpdateType>
|
|
94
|
+
*/
|
|
95
|
+
function generateColumnTypeWrapper(field, baseType) {
|
|
96
|
+
// Read-only fields (ID with @default)
|
|
97
|
+
if ((0, type_1.hasDefaultValue)(field) && (0, type_1.isIdField)(field)) {
|
|
98
|
+
return 'never, never'; // ColumnType<T, never, never>
|
|
99
|
+
}
|
|
100
|
+
// Generated fields (@default, @updatedAt)
|
|
101
|
+
if ((0, type_1.hasDefaultValue)(field) || field.isUpdatedAt) {
|
|
102
|
+
return `${baseType} | undefined, ${baseType} | undefined`; // ColumnType<T, T?, T?>
|
|
103
|
+
}
|
|
104
|
+
return null; // Plain type, no wrapper needed
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Generate field type for Kysely table interface
|
|
108
|
+
*/
|
|
109
|
+
function generateKyselyFieldType(field, dmmf) {
|
|
110
|
+
const baseType = mapPrismaTypeToTS(field, dmmf);
|
|
111
|
+
const columnTypeParams = generateColumnTypeWrapper(field, baseType);
|
|
112
|
+
if (columnTypeParams) {
|
|
113
|
+
const [insertType, updateType] = columnTypeParams.split(', ');
|
|
114
|
+
return `ColumnType<${baseType}, ${insertType}, ${updateType}>`;
|
|
115
|
+
}
|
|
116
|
+
// Optional fields
|
|
117
|
+
if (!field.isRequired) {
|
|
118
|
+
return `${baseType} | null`;
|
|
119
|
+
}
|
|
120
|
+
return baseType;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Generate Kysely table interface for a model
|
|
124
|
+
*/
|
|
125
|
+
function generateKyselyTableInterface(model, fields, dmmf) {
|
|
126
|
+
const tableName = `${(0, naming_1.toPascalCase)(model.name)}Table`;
|
|
127
|
+
const fieldDefs = fields
|
|
128
|
+
.map((field) => {
|
|
129
|
+
const fieldType = generateKyselyFieldType(field, dmmf);
|
|
130
|
+
return ` ${field.name}: ${fieldType};`;
|
|
131
|
+
})
|
|
132
|
+
.join('\n');
|
|
133
|
+
return `// Kysely table interface for ${model.name}
|
|
134
|
+
export interface ${tableName} {
|
|
135
|
+
${fieldDefs}
|
|
136
|
+
}`;
|
|
137
|
+
}
|
|
60
138
|
/**
|
|
61
139
|
* Generate DB interface entry for a model
|
|
62
|
-
* Uses
|
|
140
|
+
* Uses Kysely table interface for native compatibility
|
|
63
141
|
*/
|
|
64
142
|
function generateDBInterfaceEntry(model) {
|
|
65
143
|
const tableName = model.dbName || model.name;
|
|
66
144
|
const pascalName = (0, naming_1.toPascalCase)(model.name);
|
|
67
|
-
return ` ${tableName}: ${pascalName}
|
|
145
|
+
return ` ${tableName}: ${pascalName}Table;`;
|
|
68
146
|
}
|
|
69
147
|
/**
|
|
70
148
|
* Generate DB interface entry for a join table
|
|
71
|
-
* Uses
|
|
149
|
+
* Uses Kysely table interface for native compatibility
|
|
72
150
|
*/
|
|
73
151
|
function generateJoinTableDBInterfaceEntry(joinTable) {
|
|
74
152
|
const { tableName, relationName } = joinTable;
|
|
75
|
-
return ` ${tableName}: ${relationName}
|
|
153
|
+
return ` ${tableName}: ${relationName}Table;`;
|
|
76
154
|
}
|
|
77
155
|
/**
|
|
78
156
|
* Generate complete DB interface including join tables
|
package/dist/kysely/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/kysely/type.ts"],"names":[],"mappings":";;AASA,0CAEC;AAMD,wCAEC;AAKD,gDAOC;AAKD,8CAMC;AAMD,oDAQC;AAMD,4DAIC;AAMD,8EAGC;AAKD,kDAeC;
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/kysely/type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/utils/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/utils/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,iBAqC1D;AAgBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,WAKrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/utils/codegen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,IAAiB,
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/utils/codegen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,IAAiB,UAK9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/utils/naming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/utils/naming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,UA8BxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,UAYtC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prisma-effect-kysely",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "Prisma generator that creates Effect Schema types from Prisma schema compatible with Kysely",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Samuel Ho",
|
|
@@ -47,6 +47,20 @@
|
|
|
47
47
|
"node": ">=18.0.0",
|
|
48
48
|
"pnpm": ">=8.0.0"
|
|
49
49
|
},
|
|
50
|
+
"packageManager": "pnpm@10.0.0",
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build": "tsc -p tsconfig.lib.json",
|
|
53
|
+
"prepare": "husky",
|
|
54
|
+
"test": "jest",
|
|
55
|
+
"test:watch": "jest --watch",
|
|
56
|
+
"test:coverage": "jest --coverage",
|
|
57
|
+
"typecheck": "tsc --noEmit -p tsconfig.lib.json",
|
|
58
|
+
"lint": "eslint .",
|
|
59
|
+
"lint:fix": "eslint . --fix",
|
|
60
|
+
"format": "prettier --write .",
|
|
61
|
+
"format:check": "prettier --check .",
|
|
62
|
+
"prepublishOnly": "npm run lint && npm run typecheck && npm run test && npm run build"
|
|
63
|
+
},
|
|
50
64
|
"lint-staged": {
|
|
51
65
|
"*.ts": [
|
|
52
66
|
"eslint --fix",
|
|
@@ -87,16 +101,5 @@
|
|
|
87
101
|
"ts-node": "^10.9.2",
|
|
88
102
|
"typescript": "^5.9.3",
|
|
89
103
|
"typescript-eslint": "^8.47.0"
|
|
90
|
-
},
|
|
91
|
-
"scripts": {
|
|
92
|
-
"build": "tsc -p tsconfig.lib.json",
|
|
93
|
-
"test": "jest",
|
|
94
|
-
"test:watch": "jest --watch",
|
|
95
|
-
"test:coverage": "jest --coverage",
|
|
96
|
-
"typecheck": "tsc --noEmit -p tsconfig.lib.json",
|
|
97
|
-
"lint": "eslint .",
|
|
98
|
-
"lint:fix": "eslint . --fix",
|
|
99
|
-
"format": "prettier --write .",
|
|
100
|
-
"format:check": "prettier --check ."
|
|
101
104
|
}
|
|
102
|
-
}
|
|
105
|
+
}
|