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.
Files changed (44) hide show
  1. package/dist/effect/generator.d.ts +4 -0
  2. package/dist/effect/generator.d.ts.map +1 -1
  3. package/dist/effect/generator.js +7 -0
  4. package/dist/effect/generator.js.map +1 -1
  5. package/dist/effect/join-table.d.ts +4 -0
  6. package/dist/effect/join-table.d.ts.map +1 -1
  7. package/dist/effect/join-table.js +16 -0
  8. package/dist/effect/join-table.js.map +1 -1
  9. package/dist/effect/type.d.ts +1 -1
  10. package/dist/effect/type.d.ts.map +1 -1
  11. package/dist/effect/type.js +18 -12
  12. package/dist/effect/type.js.map +1 -1
  13. package/dist/generator/config.d.ts +58 -0
  14. package/dist/generator/config.d.ts.map +1 -0
  15. package/dist/generator/config.js +109 -0
  16. package/dist/generator/config.js.map +1 -0
  17. package/dist/generator/contract-scaffolder.d.ts +45 -0
  18. package/dist/generator/contract-scaffolder.d.ts.map +1 -0
  19. package/dist/generator/contract-scaffolder.js +244 -0
  20. package/dist/generator/contract-scaffolder.js.map +1 -0
  21. package/dist/generator/domain-detector.d.ts +50 -0
  22. package/dist/generator/domain-detector.d.ts.map +1 -0
  23. package/dist/generator/domain-detector.js +187 -0
  24. package/dist/generator/domain-detector.js.map +1 -0
  25. package/dist/generator/orchestrator.d.ts +24 -4
  26. package/dist/generator/orchestrator.d.ts.map +1 -1
  27. package/dist/generator/orchestrator.js +139 -21
  28. package/dist/generator/orchestrator.js.map +1 -1
  29. package/dist/kysely/generator.d.ts +4 -0
  30. package/dist/kysely/generator.d.ts.map +1 -1
  31. package/dist/kysely/generator.js +6 -0
  32. package/dist/kysely/generator.js.map +1 -1
  33. package/dist/kysely/helpers.d.ts +5 -1
  34. package/dist/kysely/helpers.d.ts.map +1 -1
  35. package/dist/kysely/helpers.js +54 -27
  36. package/dist/kysely/helpers.js.map +1 -1
  37. package/dist/kysely/type.d.ts +19 -2
  38. package/dist/kysely/type.d.ts.map +1 -1
  39. package/dist/kysely/type.js +82 -4
  40. package/dist/kysely/type.js.map +1 -1
  41. package/dist/utils/annotations.d.ts.map +1 -1
  42. package/dist/utils/codegen.d.ts.map +1 -1
  43. package/dist/utils/naming.d.ts.map +1 -1
  44. package/package.json +16 -13
@@ -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
- if (isColumnType(prop.type)) {
94
- const schemas = prop.type.annotations[exports.ColumnTypeId];
95
- return new AST.PropertySignature(prop.name, schemas.insertSchema.ast, prop.isOptional, prop.isReadonly, prop.annotations);
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":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
@@ -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 pre-resolved *SelectEncoded type for Kysely compatibility
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 pre-resolved *SelectEncoded type for Kysely compatibility
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"}
@@ -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 pre-resolved *SelectEncoded type for Kysely compatibility
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}SelectEncoded;`;
145
+ return ` ${tableName}: ${pascalName}Table;`;
68
146
  }
69
147
  /**
70
148
  * Generate DB interface entry for a join table
71
- * Uses pre-resolved *SelectEncoded type for Kysely compatibility
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}SelectEncoded;`;
153
+ return ` ${tableName}: ${relationName}Table;`;
76
154
  }
77
155
  /**
78
156
  * Generate complete DB interface including join tables
@@ -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;AA9FD,yCAA4E;AAE5E,4CAA+C;AAE/C;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAiB;IAC/C,OAAO,IAAA,sBAAe,EAAC,KAAK,CAAC,IAAI,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAiB;IAC9C,OAAO,IAAA,sBAAe,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,KAAiB;IACrE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,cAAc,SAAS,+BAA+B,CAAC;IAChE,CAAC;SAAM,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,aAAa,SAAS,GAAG,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAAiB,EAAE,KAAiB;IACpE,MAAM,MAAM,GAAG,IAAA,qBAAc,EAAC,KAAK,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,4BAA4B,SAAS,0BAA0B,MAAM,KAAK,CAAC;IACpF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,aAAqB,EAAE,KAAiB;IAC3E,uDAAuD;IACvD,IAAI,SAAS,GAAG,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAEzD,yDAAyD;IACzD,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAEhD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,KAAiB;IACxD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,KAAK,SAAS,KAAK,UAAU,gBAAgB,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAgB,iCAAiC,CAAC,SAAwB;IACxE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAC9C,OAAO,KAAK,SAAS,KAAK,YAAY,gBAAgB,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,MAA6B,EAC7B,aAA8B,EAAE;IAEhC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjF,MAAM,gBAAgB,GACpB,UAAU,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACrE,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;;EAEP,YAAY,GAAG,gBAAgB;EAC/B,CAAC;AACH,CAAC"}
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,GAAG,MAAM,GAAG,IAAI,CAqC1E;AAgBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAK/E"}
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,GAAG,MAAM,CAKvE"}
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,GAAG,MAAM,CA8BjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAY/C"}
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.10.0",
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
+ }