prisma-effect-kysely 1.13.1 → 1.14.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/CHANGELOG.md +35 -0
- package/README.md +30 -0
- package/dist/effect/enum.d.ts +1 -1
- package/dist/effect/enum.d.ts.map +1 -1
- package/dist/effect/enum.js +19 -22
- package/dist/effect/enum.js.map +1 -1
- package/dist/effect/generator.d.ts +1 -1
- package/dist/effect/generator.d.ts.map +1 -1
- package/dist/effect/generator.js +17 -20
- package/dist/effect/generator.js.map +1 -1
- package/dist/effect/join-table.d.ts +1 -1
- package/dist/effect/join-table.d.ts.map +1 -1
- package/dist/effect/join-table.js +7 -11
- package/dist/effect/join-table.js.map +1 -1
- package/dist/effect/type.js +10 -14
- package/dist/effect/type.js.map +1 -1
- package/dist/generator/config.d.ts +1 -1
- package/dist/generator/config.d.ts.map +1 -1
- package/dist/generator/config.js +10 -15
- package/dist/generator/config.js.map +1 -1
- package/dist/generator/contract-scaffolder.d.ts +2 -2
- package/dist/generator/contract-scaffolder.d.ts.map +1 -1
- package/dist/generator/contract-scaffolder.js +21 -65
- package/dist/generator/contract-scaffolder.js.map +1 -1
- package/dist/generator/domain-detector.d.ts.map +1 -1
- package/dist/generator/domain-detector.js +5 -43
- package/dist/generator/domain-detector.js.map +1 -1
- package/dist/generator/index.d.ts +2 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +9 -27
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/orchestrator.d.ts.map +1 -1
- package/dist/generator/orchestrator.js +33 -40
- package/dist/generator/orchestrator.js.map +1 -1
- package/dist/kysely/generator.d.ts +1 -1
- package/dist/kysely/generator.d.ts.map +1 -1
- package/dist/kysely/generator.js +9 -12
- package/dist/kysely/generator.js.map +1 -1
- package/dist/kysely/helpers.d.ts +4 -8
- package/dist/kysely/helpers.d.ts.map +1 -1
- package/dist/kysely/helpers.js +29 -71
- package/dist/kysely/helpers.js.map +1 -1
- package/dist/kysely/type.d.ts +1 -1
- package/dist/kysely/type.d.ts.map +1 -1
- package/dist/kysely/type.js +24 -38
- package/dist/kysely/type.js.map +1 -1
- package/dist/prisma/enum.d.ts +1 -1
- package/dist/prisma/enum.d.ts.map +1 -1
- package/dist/prisma/enum.js +3 -8
- package/dist/prisma/enum.js.map +1 -1
- package/dist/prisma/generator.d.ts +2 -2
- package/dist/prisma/generator.d.ts.map +1 -1
- package/dist/prisma/generator.js +6 -42
- package/dist/prisma/generator.js.map +1 -1
- package/dist/prisma/relation.d.ts.map +1 -1
- package/dist/prisma/relation.js +45 -48
- package/dist/prisma/relation.js.map +1 -1
- package/dist/prisma/type.d.ts +1 -1
- package/dist/prisma/type.d.ts.map +1 -1
- package/dist/prisma/type.js +16 -29
- package/dist/prisma/type.js.map +1 -1
- package/dist/utils/annotations.d.ts.map +1 -1
- package/dist/utils/annotations.js +3 -9
- package/dist/utils/annotations.js.map +1 -1
- package/dist/utils/codegen.js +1 -4
- package/dist/utils/codegen.js.map +1 -1
- package/dist/utils/file-manager.js +9 -12
- package/dist/utils/file-manager.js.map +1 -1
- package/dist/utils/naming.js +3 -8
- package/dist/utils/naming.js.map +1 -1
- package/dist/utils/templates.d.ts.map +1 -1
- package/dist/utils/templates.js +5 -43
- package/dist/utils/templates.js.map +1 -1
- package/package.json +33 -25
- package/dist/utils/unsupported-config.d.ts +0 -26
- package/dist/utils/unsupported-config.d.ts.map +0 -1
- package/dist/utils/unsupported-config.js +0 -36
- package/dist/utils/unsupported-config.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Contract Library Scaffolding
|
|
4
3
|
*
|
|
@@ -6,64 +5,28 @@
|
|
|
6
5
|
* Uses monorepo-library-generator if available, falls back to manual scaffolding.
|
|
7
6
|
* Uses Effect Schema for strict validation.
|
|
8
7
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
-
var ownKeys = function(o) {
|
|
27
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
-
var ar = [];
|
|
29
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
-
return ar;
|
|
31
|
-
};
|
|
32
|
-
return ownKeys(o);
|
|
33
|
-
};
|
|
34
|
-
return function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
})();
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.scaffoldContractLibraries = scaffoldContractLibraries;
|
|
44
|
-
exports.logScaffoldResults = logScaffoldResults;
|
|
45
|
-
const path = __importStar(require("path"));
|
|
46
|
-
const fs = __importStar(require("fs"));
|
|
47
|
-
const child_process_1 = require("child_process");
|
|
48
|
-
const effect_1 = require("effect");
|
|
8
|
+
import { execSync } from 'node:child_process';
|
|
9
|
+
import * as fs from 'node:fs';
|
|
10
|
+
import * as path from 'node:path';
|
|
11
|
+
import { Schema } from 'effect';
|
|
49
12
|
/**
|
|
50
13
|
* Scaffold method schema
|
|
51
14
|
*/
|
|
52
|
-
const ScaffoldMethod =
|
|
15
|
+
const ScaffoldMethod = Schema.Literal('generator', 'manual', 'existing');
|
|
53
16
|
/**
|
|
54
17
|
* Scaffold result schema
|
|
55
18
|
*/
|
|
56
|
-
const ScaffoldResultSchema =
|
|
57
|
-
domain:
|
|
58
|
-
outputPath:
|
|
59
|
-
scaffolded:
|
|
19
|
+
const ScaffoldResultSchema = Schema.Struct({
|
|
20
|
+
domain: Schema.String,
|
|
21
|
+
outputPath: Schema.String,
|
|
22
|
+
scaffolded: Schema.Boolean,
|
|
60
23
|
method: ScaffoldMethod,
|
|
61
|
-
error:
|
|
24
|
+
error: Schema.optional(Schema.String),
|
|
62
25
|
});
|
|
63
26
|
/**
|
|
64
27
|
* Create a validated scaffold result
|
|
65
28
|
*/
|
|
66
|
-
const createResult =
|
|
29
|
+
const createResult = Schema.decodeUnknownSync(ScaffoldResultSchema);
|
|
67
30
|
/**
|
|
68
31
|
* Scaffold contract libraries for all domains
|
|
69
32
|
*
|
|
@@ -72,7 +35,7 @@ const createResult = effect_1.Schema.decodeUnknownSync(ScaffoldResultSchema);
|
|
|
72
35
|
* 2. Use monorepo-library-generator if available and configured
|
|
73
36
|
* 3. Fall back to manual scaffolding if generator not available
|
|
74
37
|
*/
|
|
75
|
-
async function scaffoldContractLibraries(domains, config) {
|
|
38
|
+
export async function scaffoldContractLibraries(domains, config) {
|
|
76
39
|
const results = [];
|
|
77
40
|
for (const domain of domains) {
|
|
78
41
|
try {
|
|
@@ -98,7 +61,6 @@ async function scaffoldDomainLibrary(domain, config) {
|
|
|
98
61
|
const outputPath = getContractOutputPath(config.output, domain.name);
|
|
99
62
|
// Check if library already exists
|
|
100
63
|
if (fs.existsSync(outputPath)) {
|
|
101
|
-
console.log(`[Contract Scaffolder] Library already exists: ${domain.name}`);
|
|
102
64
|
return createResult({
|
|
103
65
|
domain: domain.name,
|
|
104
66
|
outputPath,
|
|
@@ -119,7 +81,7 @@ async function scaffoldDomainLibrary(domain, config) {
|
|
|
119
81
|
/**
|
|
120
82
|
* Try scaffolding using monorepo-library-generator
|
|
121
83
|
*/
|
|
122
|
-
|
|
84
|
+
function tryGeneratorScaffold(domain, config) {
|
|
123
85
|
const generatorPath = config.libraryGenerator;
|
|
124
86
|
if (!generatorPath) {
|
|
125
87
|
return null;
|
|
@@ -127,13 +89,11 @@ async function tryGeneratorScaffold(domain, config) {
|
|
|
127
89
|
try {
|
|
128
90
|
// Check if generator exists
|
|
129
91
|
if (!fs.existsSync(generatorPath)) {
|
|
130
|
-
console.warn(`[Contract Scaffolder] Generator not found at: ${generatorPath}, using manual scaffolding`);
|
|
131
92
|
return null;
|
|
132
93
|
}
|
|
133
94
|
// Use the contract generator from monorepo-library-generator
|
|
134
95
|
const command = `node ${generatorPath}/dist/cli/index.js generate contract ${domain.name} --description "Contract library for ${domain.name} domain (generated by prisma-effect-kysely)"`;
|
|
135
|
-
|
|
136
|
-
(0, child_process_1.execSync)(command, { stdio: 'inherit' });
|
|
96
|
+
execSync(command, { stdio: 'inherit' });
|
|
137
97
|
const outputPath = getContractOutputPath(config.output, domain.name);
|
|
138
98
|
return createResult({
|
|
139
99
|
domain: domain.name,
|
|
@@ -142,8 +102,7 @@ async function tryGeneratorScaffold(domain, config) {
|
|
|
142
102
|
method: 'generator',
|
|
143
103
|
});
|
|
144
104
|
}
|
|
145
|
-
catch
|
|
146
|
-
console.warn(`[Contract Scaffolder] Generator failed for ${domain.name}:`, error instanceof Error ? error.message : String(error));
|
|
105
|
+
catch {
|
|
147
106
|
return null;
|
|
148
107
|
}
|
|
149
108
|
}
|
|
@@ -156,9 +115,8 @@ async function tryGeneratorScaffold(domain, config) {
|
|
|
156
115
|
* - src/index.ts
|
|
157
116
|
* - src/generated/ (for Prisma-generated schemas)
|
|
158
117
|
*/
|
|
159
|
-
|
|
118
|
+
function manualScaffold(domain, config) {
|
|
160
119
|
const outputPath = getContractOutputPath(config.output, domain.name);
|
|
161
|
-
console.log(`[Contract Scaffolder] Manually scaffolding: ${domain.name}`);
|
|
162
120
|
// Create directory structure
|
|
163
121
|
fs.mkdirSync(path.join(outputPath, 'src', 'generated'), { recursive: true });
|
|
164
122
|
// Create package.json
|
|
@@ -201,7 +159,7 @@ async function manualScaffold(domain, config) {
|
|
|
201
159
|
* This file re-exports generated schemas from the generated/ directory.
|
|
202
160
|
*/
|
|
203
161
|
|
|
204
|
-
export * from './generated';
|
|
162
|
+
export * from './generated.js';
|
|
205
163
|
`;
|
|
206
164
|
fs.writeFileSync(path.join(outputPath, 'src', 'index.ts'), indexContent);
|
|
207
165
|
// Create .gitkeep in generated directory
|
|
@@ -226,18 +184,16 @@ function getContractOutputPath(baseOutput, domainName) {
|
|
|
226
184
|
/**
|
|
227
185
|
* Log scaffolding results
|
|
228
186
|
*/
|
|
229
|
-
function logScaffoldResults(results) {
|
|
230
|
-
console.log('\n[Contract Scaffolder] Scaffolding Summary:');
|
|
187
|
+
export function logScaffoldResults(results) {
|
|
231
188
|
for (const result of results) {
|
|
232
|
-
const
|
|
233
|
-
const
|
|
189
|
+
const _status = result.scaffolded ? '✓' : result.error ? '✗' : '○';
|
|
190
|
+
const _method = result.method === 'generator'
|
|
234
191
|
? '(generator)'
|
|
235
192
|
: result.method === 'manual'
|
|
236
193
|
? '(manual)'
|
|
237
194
|
: '(existing)';
|
|
238
|
-
console.log(` ${status} ${result.domain} ${method}`);
|
|
239
195
|
if (result.error) {
|
|
240
|
-
|
|
196
|
+
// Error handling would go here if needed
|
|
241
197
|
}
|
|
242
198
|
}
|
|
243
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-scaffolder.js","sourceRoot":"","sources":["../../src/generator/contract-scaffolder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract-scaffolder.js","sourceRoot":"","sources":["../../src/generator/contract-scaffolder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-detector.d.ts","sourceRoot":"","sources":["../../src/generator/domain-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"domain-detector.d.ts","sourceRoot":"","sources":["../../src/generator/domain-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;IAE9B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAsBpF;AAgHD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAE9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EAAE,EACrB,UAAU,EAAE,MAAM,GACjB,SAAS,IAAI,CAAC,KAAK,EAAE,CAGvB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Domain Detection
|
|
4
3
|
*
|
|
@@ -6,45 +5,8 @@
|
|
|
6
5
|
* Supports Prisma's multi-file schema feature (v5.15.0+) where schemas
|
|
7
6
|
* are organized in separate files per domain (e.g., user.prisma, product.prisma).
|
|
8
7
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
-
var ownKeys = function(o) {
|
|
27
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
-
var ar = [];
|
|
29
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
-
return ar;
|
|
31
|
-
};
|
|
32
|
-
return ownKeys(o);
|
|
33
|
-
};
|
|
34
|
-
return function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
})();
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.detectDomains = detectDomains;
|
|
44
|
-
exports.getDomainNames = getDomainNames;
|
|
45
|
-
exports.getModelsForDomain = getModelsForDomain;
|
|
46
|
-
const path = __importStar(require("path"));
|
|
47
|
-
const fs = __importStar(require("fs"));
|
|
8
|
+
import * as fs from 'node:fs';
|
|
9
|
+
import * as path from 'node:path';
|
|
48
10
|
/**
|
|
49
11
|
* Detect domains from Prisma schema file structure
|
|
50
12
|
*
|
|
@@ -58,7 +20,7 @@ const fs = __importStar(require("fs"));
|
|
|
58
20
|
* @param schemaPath - Path to prisma schema directory
|
|
59
21
|
* @returns Array of detected domains with their models
|
|
60
22
|
*/
|
|
61
|
-
function detectDomains(dmmf, schemaPath) {
|
|
23
|
+
export function detectDomains(dmmf, schemaPath) {
|
|
62
24
|
// Strategy 1: Use DMMF schema locations if available (Prisma 5.15.0+)
|
|
63
25
|
const domainsByDmmf = detectDomainsFromDMMF(dmmf);
|
|
64
26
|
if (domainsByDmmf.length > 0) {
|
|
@@ -174,13 +136,13 @@ function inferDomainFromModel(model, domainModels) {
|
|
|
174
136
|
/**
|
|
175
137
|
* Get all unique domain names from detected domains
|
|
176
138
|
*/
|
|
177
|
-
function getDomainNames(domains) {
|
|
139
|
+
export function getDomainNames(domains) {
|
|
178
140
|
return domains.map((d) => d.name);
|
|
179
141
|
}
|
|
180
142
|
/**
|
|
181
143
|
* Get models for a specific domain
|
|
182
144
|
*/
|
|
183
|
-
function getModelsForDomain(domains, domainName) {
|
|
145
|
+
export function getModelsForDomain(domains, domainName) {
|
|
184
146
|
const domain = domains.find((d) => d.name === domainName);
|
|
185
147
|
return domain?.models || [];
|
|
186
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-detector.js","sourceRoot":"","sources":["../../src/generator/domain-detector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain-detector.js","sourceRoot":"","sources":["../../src/generator/domain-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export
|
|
2
|
+
export type { GetTypes, Schemas } from '../kysely/helpers.js';
|
|
3
|
+
export { columnType, generated, getSchemas, insertable, selectable, updateable, } from '../kysely/helpers.js';
|
|
3
4
|
export declare const generator: void;
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAUA,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,SAAS,MAUpB,CAAC"}
|
package/dist/generator/index.js
CHANGED
|
@@ -1,37 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
|
-
};
|
|
17
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.generator = void 0;
|
|
22
|
-
const generator_helper_1 = require("@prisma/generator-helper");
|
|
23
|
-
const orchestrator_1 = require("./orchestrator");
|
|
24
|
-
const package_json_1 = __importDefault(require("../../package.json"));
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { generatorHandler } from '@prisma/generator-helper';
|
|
4
|
+
import { GeneratorOrchestrator } from './orchestrator.js';
|
|
5
|
+
const require = createRequire(import.meta.url);
|
|
6
|
+
const packageJson = require('../../package.json');
|
|
25
7
|
// Re-export kysely helpers for generated code
|
|
26
|
-
|
|
27
|
-
|
|
8
|
+
export { columnType, generated, getSchemas, insertable, selectable, updateable, } from '../kysely/helpers.js';
|
|
9
|
+
export const generator = generatorHandler({
|
|
28
10
|
onManifest: () => ({
|
|
29
|
-
version:
|
|
11
|
+
version: packageJson.version,
|
|
30
12
|
defaultOutput: './generated',
|
|
31
13
|
prettyName: 'Prisma Effect Kysely Generator',
|
|
32
14
|
}),
|
|
33
15
|
onGenerate: async (options) => {
|
|
34
|
-
const orchestrator = new
|
|
16
|
+
const orchestrator = new GeneratorOrchestrator(options);
|
|
35
17
|
await orchestrator.generate(options);
|
|
36
18
|
},
|
|
37
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAGzE,8CAA8C;AAC9C,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACxC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACjB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,gCAAgC;KAC7C,CAAC;IACF,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC5B,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAcjE;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;gBAEhC,OAAO,EAAE,gBAAgB;IASrC;;;;;;;;OAQG;IACG,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAaxC;;;OAGG;YACW,oBAAoB;IAQlC;;;OAGG;YACW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAcjE;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;gBAEhC,OAAO,EAAE,gBAAgB;IASrC;;;;;;;;OAQG;IACG,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAaxC;;;OAGG;YACW,oBAAoB;IAQlC;;;OAGG;YACW,mBAAmB;IAiBjC;;OAEG;YACW,iBAAiB;IA+E/B;;OAEG;YACW,aAAa;IAM3B;;OAEG;YACW,aAAa;IAwD3B;;OAEG;YACW,aAAa;IAK3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,OAAO,CAAC,WAAW;CASpB"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const config_1 = require("./config");
|
|
9
|
-
const domain_detector_1 = require("./domain-detector");
|
|
10
|
-
const contract_scaffolder_1 = require("./contract-scaffolder");
|
|
1
|
+
import { EffectGenerator } from '../effect/generator.js';
|
|
2
|
+
import { KyselyGenerator } from '../kysely/generator.js';
|
|
3
|
+
import { PrismaGenerator } from '../prisma/generator.js';
|
|
4
|
+
import { FileManager } from '../utils/file-manager.js';
|
|
5
|
+
import { isMultiDomainEnabled, isScaffoldingEnabled, parseGeneratorConfig, } from './config.js';
|
|
6
|
+
import { logScaffoldResults, scaffoldContractLibraries } from './contract-scaffolder.js';
|
|
7
|
+
import { detectDomains } from './domain-detector.js';
|
|
11
8
|
/**
|
|
12
9
|
* Orchestrates the generation of Effect Schema types from Prisma schema
|
|
13
10
|
* Uses domain-driven generators: Prisma → Effect → Kysely
|
|
@@ -16,13 +13,18 @@ const contract_scaffolder_1 = require("./contract-scaffolder");
|
|
|
16
13
|
* 1. Single output (default): All schemas in one directory
|
|
17
14
|
* 2. Multi-domain: Separate contract libraries per domain
|
|
18
15
|
*/
|
|
19
|
-
class GeneratorOrchestrator {
|
|
16
|
+
export class GeneratorOrchestrator {
|
|
17
|
+
config;
|
|
18
|
+
fileManager;
|
|
19
|
+
prismaGen;
|
|
20
|
+
effectGen;
|
|
21
|
+
kyselyGen;
|
|
20
22
|
constructor(options) {
|
|
21
|
-
this.config =
|
|
22
|
-
this.fileManager = new
|
|
23
|
-
this.prismaGen = new
|
|
24
|
-
this.effectGen = new
|
|
25
|
-
this.kyselyGen = new
|
|
23
|
+
this.config = parseGeneratorConfig(options);
|
|
24
|
+
this.fileManager = new FileManager(this.config.output);
|
|
25
|
+
this.prismaGen = new PrismaGenerator(options.dmmf);
|
|
26
|
+
this.effectGen = new EffectGenerator(options.dmmf);
|
|
27
|
+
this.kyselyGen = new KyselyGenerator(options.dmmf);
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Main generation entry point
|
|
@@ -36,7 +38,7 @@ class GeneratorOrchestrator {
|
|
|
36
38
|
async generate(options) {
|
|
37
39
|
this.logStart(options);
|
|
38
40
|
// Check if multi-domain mode is enabled
|
|
39
|
-
if (
|
|
41
|
+
if (isMultiDomainEnabled(this.config)) {
|
|
40
42
|
await this.generateMultiDomain(options);
|
|
41
43
|
}
|
|
42
44
|
else {
|
|
@@ -61,12 +63,11 @@ class GeneratorOrchestrator {
|
|
|
61
63
|
async generateMultiDomain(options) {
|
|
62
64
|
// 1. Detect domains from schema structure
|
|
63
65
|
const schemaPath = options.schemaPath;
|
|
64
|
-
const domains =
|
|
65
|
-
console.log(`[Multi-Domain] Detected ${domains.length} domains:`, domains.map((d) => d.name).join(', '));
|
|
66
|
+
const domains = detectDomains(options.dmmf, schemaPath);
|
|
66
67
|
// 2. Scaffold contract libraries if enabled
|
|
67
|
-
if (
|
|
68
|
-
const scaffoldResults = await
|
|
69
|
-
|
|
68
|
+
if (isScaffoldingEnabled(this.config)) {
|
|
69
|
+
const scaffoldResults = await scaffoldContractLibraries(domains, this.config);
|
|
70
|
+
logScaffoldResults(scaffoldResults);
|
|
70
71
|
}
|
|
71
72
|
// 3. Generate schemas for each domain
|
|
72
73
|
for (const domain of domains) {
|
|
@@ -78,9 +79,8 @@ class GeneratorOrchestrator {
|
|
|
78
79
|
*/
|
|
79
80
|
async generateForDomain(domain) {
|
|
80
81
|
const domainOutputPath = `${this.config.output}/${domain.name}/src/generated`;
|
|
81
|
-
const domainFileManager = new
|
|
82
|
+
const domainFileManager = new FileManager(domainOutputPath);
|
|
82
83
|
await domainFileManager.ensureDirectory();
|
|
83
|
-
console.log(`[Multi-Domain] Generating ${domain.name}...`);
|
|
84
84
|
// Generate enums (shared across all domains for now)
|
|
85
85
|
const enums = this.prismaGen.getEnums();
|
|
86
86
|
if (enums.length > 0) {
|
|
@@ -134,7 +134,6 @@ ${kyselyFields}
|
|
|
134
134
|
// Generate index file
|
|
135
135
|
const indexContent = this.kyselyGen.generateIndexFile();
|
|
136
136
|
await domainFileManager.writeFile('index.ts', indexContent);
|
|
137
|
-
console.log(`[Multi-Domain] ✓ Generated ${domain.name} (${domain.models.length} models)`);
|
|
138
137
|
}
|
|
139
138
|
/**
|
|
140
139
|
* Generate enums.ts file
|
|
@@ -200,14 +199,11 @@ ${kyselyFields}
|
|
|
200
199
|
* Log generation start with stats
|
|
201
200
|
*/
|
|
202
201
|
logStart(options) {
|
|
203
|
-
const
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
console.log('[Effect Generator] Multi-domain mode: ENABLED');
|
|
209
|
-
if ((0, config_1.isScaffoldingEnabled)(this.config)) {
|
|
210
|
-
console.log('[Effect Generator] Library scaffolding: ENABLED');
|
|
202
|
+
const _modelCount = options.dmmf.datamodel.models.filter((m) => !m.name.startsWith('_')).length;
|
|
203
|
+
const _enumCount = options.dmmf.datamodel.enums.length;
|
|
204
|
+
if (isMultiDomainEnabled(this.config)) {
|
|
205
|
+
if (isScaffoldingEnabled(this.config)) {
|
|
206
|
+
// Scaffolding logic would go here if needed
|
|
211
207
|
}
|
|
212
208
|
}
|
|
213
209
|
}
|
|
@@ -215,16 +211,13 @@ ${kyselyFields}
|
|
|
215
211
|
* Log generation completion
|
|
216
212
|
*/
|
|
217
213
|
logComplete() {
|
|
218
|
-
const
|
|
219
|
-
if (
|
|
220
|
-
|
|
221
|
-
console.log(`[Effect Generator] Base output: ${this.config.output}`);
|
|
214
|
+
const _outputPath = this.fileManager.getOutputPath();
|
|
215
|
+
if (isMultiDomainEnabled(this.config)) {
|
|
216
|
+
// Multi-domain logic would go here if needed
|
|
222
217
|
}
|
|
223
218
|
else {
|
|
224
|
-
|
|
225
|
-
console.log(`[Effect Generator] Files: enums.ts, types.ts, index.ts`);
|
|
219
|
+
// Single-domain logic would go here if needed
|
|
226
220
|
}
|
|
227
221
|
}
|
|
228
222
|
}
|
|
229
|
-
exports.GeneratorOrchestrator = GeneratorOrchestrator;
|
|
230
223
|
//# sourceMappingURL=orchestrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAmB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACf,MAAM,CAAkB;IACxB,WAAW,CAAc;IACzB,SAAS,CAAkB;IAC3B,SAAS,CAAkB;IAC3B,SAAS,CAAkB;IAE5C,YAAY,OAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAyB;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEvB,wCAAwC;QACxC,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB;QAChC,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEzC,wDAAwD;QACxD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAyB;QACzD,0CAA0C;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAExD,4CAA4C;QAC5C,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9E,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;QAED,sCAAsC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,MAAkB;QAChD,MAAM,gBAAgB,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,gBAAgB,CAAC;QAC9E,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAE5D,MAAM,iBAAiB,CAAC,eAAe,EAAE,CAAC;QAE1C,qDAAqD;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAElC,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,CACxE,CAAC;QAEF,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAE5D,8CAA8C;QAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAExC,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEzE,0CAA0C;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI;eAC5B,cAAc;EAC3B,YAAY;IACV,CAAC;YAEG,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEtE,OAAO,GAAG,WAAW,OAAO,UAAU,OAAO,iBAAiB,OAAO,WAAW,EAAE,CAAC;QACrF,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,wDAAwD;QACxD,MAAM,yBAAyB,GAC7B,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,gBAAgB,CAAC;YACpE,CAAC,CAAC,EAAE,CAAC;QAET,8CAA8C;QAC9C,MAAM,gBAAgB,GACpB,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/F,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAExF,uCAAuC;QACvC,IAAI,OAAO,GAAG,GAAG,MAAM,OAAO,YAAY,EAAE,CAAC;QAC7C,IAAI,yBAAyB,EAAE,CAAC;YAC9B,OAAO,IAAI,OAAO,yBAAyB,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,OAAO,gBAAgB,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,OAAO,WAAW,EAAE,CAAC;QAEhC,MAAM,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEvD,sBAAsB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtD,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAE5D,8DAA8D;QAC9D,MAAM,YAAY,GAAG,MAAM;aACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAExC,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEzE,0CAA0C;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI;eAC5B,cAAc;EAC3B,YAAY;IACV,CAAC;YAEG,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEtE,OAAO,GAAG,WAAW,OAAO,UAAU,OAAO,iBAAiB,OAAO,WAAW,EAAE,CAAC;QACrF,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,wCAAwC;QACxC,MAAM,yBAAyB,GAC7B,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5F,8BAA8B;QAC9B,MAAM,gBAAgB,GACpB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnF,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE3E,uCAAuC;QACvC,IAAI,OAAO,GAAG,GAAG,MAAM,OAAO,YAAY,EAAE,CAAC;QAC7C,IAAI,yBAAyB,EAAE,CAAC;YAC9B,OAAO,IAAI,OAAO,yBAAyB,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,OAAO,gBAAgB,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,OAAO,WAAW,EAAE,CAAC;QAEhC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,OAAyB;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAChG,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;QAEvD,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,4CAA4C;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAErD,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,6CAA6C;QAC/C,CAAC;aAAM,CAAC;YACN,8CAA8C;QAChD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DMMF } from '@prisma/generator-helper';
|
|
2
|
-
import type { JoinTableInfo } from '../prisma/relation';
|
|
2
|
+
import type { JoinTableInfo } from '../prisma/relation.js';
|
|
3
3
|
/**
|
|
4
4
|
* Kysely domain generator - orchestrates Kysely integration
|
|
5
5
|
* Applies Kysely helpers to Effect schemas
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/kysely/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/kysely/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;GAGG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI,CAAC,QAAQ;IAEhD;;OAEG;IACH,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK;IAUzC;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAMjD;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAIvE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,GAAE,aAAa,EAAO;IAInF;;OAEG;IACH,iBAAiB;CAGlB"}
|
package/dist/kysely/generator.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.KyselyGenerator = void 0;
|
|
4
|
-
const type_1 = require("./type");
|
|
5
|
-
const type_2 = require("../effect/type");
|
|
1
|
+
import { buildFieldType } from '../effect/type.js';
|
|
2
|
+
import { buildKyselyFieldType, generateDBInterface, generateKyselyTableInterface } from './type.js';
|
|
6
3
|
/**
|
|
7
4
|
* Kysely domain generator - orchestrates Kysely integration
|
|
8
5
|
* Applies Kysely helpers to Effect schemas
|
|
9
6
|
*/
|
|
10
|
-
class KyselyGenerator {
|
|
7
|
+
export class KyselyGenerator {
|
|
8
|
+
dmmf;
|
|
11
9
|
constructor(dmmf) {
|
|
12
10
|
this.dmmf = dmmf;
|
|
13
11
|
}
|
|
@@ -16,9 +14,9 @@ class KyselyGenerator {
|
|
|
16
14
|
*/
|
|
17
15
|
generateFieldWithKysely(field) {
|
|
18
16
|
// Get base Effect type
|
|
19
|
-
const baseFieldType =
|
|
17
|
+
const baseFieldType = buildFieldType(field, this.dmmf);
|
|
20
18
|
// Apply Kysely helpers and @map
|
|
21
|
-
const kyselyFieldType =
|
|
19
|
+
const kyselyFieldType = buildKyselyFieldType(baseFieldType, field);
|
|
22
20
|
return ` ${field.name}: ${kyselyFieldType}`;
|
|
23
21
|
}
|
|
24
22
|
/**
|
|
@@ -33,20 +31,19 @@ class KyselyGenerator {
|
|
|
33
31
|
* Generate Kysely table interface for a model
|
|
34
32
|
*/
|
|
35
33
|
generateTableInterface(model, fields) {
|
|
36
|
-
return
|
|
34
|
+
return generateKyselyTableInterface(model, fields, this.dmmf);
|
|
37
35
|
}
|
|
38
36
|
/**
|
|
39
37
|
* Generate DB interface for all models and join tables
|
|
40
38
|
*/
|
|
41
39
|
generateDBInterface(models, joinTables = []) {
|
|
42
|
-
return
|
|
40
|
+
return generateDBInterface(models, joinTables);
|
|
43
41
|
}
|
|
44
42
|
/**
|
|
45
43
|
* Generate index.ts re-export file
|
|
46
44
|
*/
|
|
47
45
|
generateIndexFile() {
|
|
48
|
-
return `export * from "./enums";\nexport * from "./types";`;
|
|
46
|
+
return `export * from "./enums.js";\nexport * from "./types.js";`;
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
|
-
exports.KyselyGenerator = KyselyGenerator;
|
|
52
49
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/kysely/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/kysely/generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAEpG;;;GAGG;AACH,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;OAEG;IACH,uBAAuB,CAAC,KAAiB;QACvC,uBAAuB;QACvB,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvD,gCAAgC;QAChC,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEnE,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAA6B;QAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;aACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;aACnD,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,KAAiB,EAAE,MAA6B;QACrE,OAAO,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAA6B,EAAE,aAA8B,EAAE;QACjF,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,0DAA0D,CAAC;IACpE,CAAC;CACF"}
|