@bairock/lenz 0.0.15 → 0.0.17

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 (134) hide show
  1. package/README.md +195 -19
  2. package/dist/cli/commands/generate/crud.d.ts +3 -0
  3. package/dist/cli/commands/generate/crud.d.ts.map +1 -0
  4. package/dist/cli/commands/generate/crud.js +123 -0
  5. package/dist/cli/commands/generate/crud.js.map +1 -0
  6. package/dist/cli/commands/generate/index.d.ts +3 -0
  7. package/dist/cli/commands/generate/index.d.ts.map +1 -0
  8. package/dist/cli/commands/generate/index.js +8 -0
  9. package/dist/cli/commands/generate/index.js.map +1 -0
  10. package/dist/cli/commands/generate/orm.d.ts +3 -0
  11. package/dist/cli/commands/generate/orm.d.ts.map +1 -0
  12. package/dist/cli/commands/generate/orm.js +107 -0
  13. package/dist/cli/commands/generate/orm.js.map +1 -0
  14. package/dist/cli/commands/generate.d.ts.map +1 -1
  15. package/dist/cli/commands/generate.js +34 -8
  16. package/dist/cli/commands/generate.js.map +1 -1
  17. package/dist/cli/commands/init.d.ts.map +1 -1
  18. package/dist/cli/commands/init.js +0 -2
  19. package/dist/cli/commands/init.js.map +1 -1
  20. package/dist/cli/index.js +1 -3
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/config/index.d.ts +4 -6
  23. package/dist/config/index.d.ts.map +1 -1
  24. package/dist/config/index.js +24 -3
  25. package/dist/config/index.js.map +1 -1
  26. package/dist/engine/CodeGenerator.d.ts +8 -28
  27. package/dist/engine/CodeGenerator.d.ts.map +1 -1
  28. package/dist/engine/CodeGenerator.js +28 -1969
  29. package/dist/engine/CodeGenerator.js.map +1 -1
  30. package/dist/engine/GraphQLParseHelpers.d.ts +25 -0
  31. package/dist/engine/GraphQLParseHelpers.d.ts.map +1 -0
  32. package/dist/engine/GraphQLParseHelpers.js +128 -0
  33. package/dist/engine/GraphQLParseHelpers.js.map +1 -0
  34. package/dist/engine/GraphQLParser.d.ts +23 -10
  35. package/dist/engine/GraphQLParser.d.ts.map +1 -1
  36. package/dist/engine/GraphQLParser.js +154 -240
  37. package/dist/engine/GraphQLParser.js.map +1 -1
  38. package/dist/engine/GraphQLRelationAnalyzer.d.ts +10 -0
  39. package/dist/engine/GraphQLRelationAnalyzer.d.ts.map +1 -0
  40. package/dist/engine/GraphQLRelationAnalyzer.js +117 -0
  41. package/dist/engine/GraphQLRelationAnalyzer.js.map +1 -0
  42. package/dist/engine/LenzEngine.d.ts +1 -1
  43. package/dist/engine/LenzEngine.d.ts.map +1 -1
  44. package/dist/engine/LenzEngine.js +33 -13
  45. package/dist/engine/LenzEngine.js.map +1 -1
  46. package/dist/engine/SchemaRelationValidator.d.ts +15 -0
  47. package/dist/engine/SchemaRelationValidator.d.ts.map +1 -0
  48. package/dist/engine/SchemaRelationValidator.js +133 -0
  49. package/dist/engine/SchemaRelationValidator.js.map +1 -0
  50. package/dist/engine/SchemaValidator.d.ts +11 -10
  51. package/dist/engine/SchemaValidator.d.ts.map +1 -1
  52. package/dist/engine/SchemaValidator.js +151 -169
  53. package/dist/engine/SchemaValidator.js.map +1 -1
  54. package/dist/engine/directives.d.ts +10 -0
  55. package/dist/engine/directives.d.ts.map +1 -1
  56. package/dist/engine/directives.js +152 -6
  57. package/dist/engine/directives.js.map +1 -1
  58. package/dist/engine/generators/ClientGenerator.d.ts +7 -0
  59. package/dist/engine/generators/ClientGenerator.d.ts.map +1 -0
  60. package/dist/engine/generators/ClientGenerator.js +386 -0
  61. package/dist/engine/generators/ClientGenerator.js.map +1 -0
  62. package/dist/engine/generators/CrudModuleGenerator.d.ts +10 -0
  63. package/dist/engine/generators/CrudModuleGenerator.d.ts.map +1 -0
  64. package/dist/engine/generators/CrudModuleGenerator.js +141 -0
  65. package/dist/engine/generators/CrudModuleGenerator.js.map +1 -0
  66. package/dist/engine/generators/DelegateGenerator.d.ts +9 -0
  67. package/dist/engine/generators/DelegateGenerator.d.ts.map +1 -0
  68. package/dist/engine/generators/DelegateGenerator.js +453 -0
  69. package/dist/engine/generators/DelegateGenerator.js.map +1 -0
  70. package/dist/engine/generators/DelegateHelpers.d.ts +7 -0
  71. package/dist/engine/generators/DelegateHelpers.d.ts.map +1 -0
  72. package/dist/engine/generators/DelegateHelpers.js +144 -0
  73. package/dist/engine/generators/DelegateHelpers.js.map +1 -0
  74. package/dist/engine/generators/DelegateRelations.d.ts +11 -0
  75. package/dist/engine/generators/DelegateRelations.d.ts.map +1 -0
  76. package/dist/engine/generators/DelegateRelations.js +794 -0
  77. package/dist/engine/generators/DelegateRelations.js.map +1 -0
  78. package/dist/engine/generators/DelegateTemplateBody.d.ts +8 -0
  79. package/dist/engine/generators/DelegateTemplateBody.d.ts.map +1 -0
  80. package/dist/engine/generators/DelegateTemplateBody.js +776 -0
  81. package/dist/engine/generators/DelegateTemplateBody.js.map +1 -0
  82. package/dist/engine/generators/GenerateRuntimeErrors.d.ts +2 -0
  83. package/dist/engine/generators/GenerateRuntimeErrors.d.ts.map +1 -0
  84. package/dist/engine/generators/GenerateRuntimeErrors.js +140 -0
  85. package/dist/engine/generators/GenerateRuntimeErrors.js.map +1 -0
  86. package/dist/engine/generators/GenerateRuntimeIndex.d.ts +2 -0
  87. package/dist/engine/generators/GenerateRuntimeIndex.d.ts.map +1 -0
  88. package/dist/engine/generators/GenerateRuntimeIndex.js +21 -0
  89. package/dist/engine/generators/GenerateRuntimeIndex.js.map +1 -0
  90. package/dist/engine/generators/GenerateRuntimeLogger.d.ts +2 -0
  91. package/dist/engine/generators/GenerateRuntimeLogger.d.ts.map +1 -0
  92. package/dist/engine/generators/GenerateRuntimeLogger.js +125 -0
  93. package/dist/engine/generators/GenerateRuntimeLogger.js.map +1 -0
  94. package/dist/engine/generators/GenerateRuntimePagination.d.ts +2 -0
  95. package/dist/engine/generators/GenerateRuntimePagination.d.ts.map +1 -0
  96. package/dist/engine/generators/GenerateRuntimePagination.js +159 -0
  97. package/dist/engine/generators/GenerateRuntimePagination.js.map +1 -0
  98. package/dist/engine/generators/GenerateRuntimeQuery.d.ts +2 -0
  99. package/dist/engine/generators/GenerateRuntimeQuery.d.ts.map +1 -0
  100. package/dist/engine/generators/GenerateRuntimeQuery.js +427 -0
  101. package/dist/engine/generators/GenerateRuntimeQuery.js.map +1 -0
  102. package/dist/engine/generators/GenerateRuntimeRelations.d.ts +2 -0
  103. package/dist/engine/generators/GenerateRuntimeRelations.d.ts.map +1 -0
  104. package/dist/engine/generators/GenerateRuntimeRelations.js +130 -0
  105. package/dist/engine/generators/GenerateRuntimeRelations.js.map +1 -0
  106. package/dist/engine/generators/RuntimeGenerator.d.ts +16 -0
  107. package/dist/engine/generators/RuntimeGenerator.d.ts.map +1 -0
  108. package/dist/engine/generators/RuntimeGenerator.js +16 -0
  109. package/dist/engine/generators/RuntimeGenerator.js.map +1 -0
  110. package/dist/engine/generators/SDLInputTypesGenerator.d.ts +6 -0
  111. package/dist/engine/generators/SDLInputTypesGenerator.d.ts.map +1 -0
  112. package/dist/engine/generators/SDLInputTypesGenerator.js +763 -0
  113. package/dist/engine/generators/SDLInputTypesGenerator.js.map +1 -0
  114. package/dist/engine/generators/TypeFilterTypes.d.ts +2 -0
  115. package/dist/engine/generators/TypeFilterTypes.d.ts.map +1 -0
  116. package/dist/engine/generators/TypeFilterTypes.js +220 -0
  117. package/dist/engine/generators/TypeFilterTypes.js.map +1 -0
  118. package/dist/engine/generators/TypeGenerator.d.ts +16 -0
  119. package/dist/engine/generators/TypeGenerator.d.ts.map +1 -0
  120. package/dist/engine/generators/TypeGenerator.js +493 -0
  121. package/dist/engine/generators/TypeGenerator.js.map +1 -0
  122. package/dist/engine/generators/helpers.d.ts +13 -0
  123. package/dist/engine/generators/helpers.d.ts.map +1 -0
  124. package/dist/engine/generators/helpers.js +316 -0
  125. package/dist/engine/generators/helpers.js.map +1 -0
  126. package/dist/errors/index.d.ts +3 -0
  127. package/dist/errors/index.d.ts.map +1 -1
  128. package/dist/errors/index.js +11 -1
  129. package/dist/errors/index.js.map +1 -1
  130. package/dist/index.d.ts +0 -1
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +2 -4
  133. package/dist/index.js.map +1 -1
  134. package/package.json +10 -4
@@ -0,0 +1,316 @@
1
+ import * as ts from 'typescript';
2
+ // GraphQL → TypeScript type mapping
3
+ export const typeMap = {
4
+ 'String': 'string',
5
+ 'Int': 'number',
6
+ 'Float': 'number',
7
+ 'Boolean': 'boolean',
8
+ 'ID': 'string',
9
+ 'DateTime': 'Date',
10
+ 'Date': 'Date',
11
+ 'Json': 'any',
12
+ 'ObjectId': 'string',
13
+ 'Bytes': 'Buffer',
14
+ 'BigInt': 'bigint'
15
+ };
16
+ export function toCamelCase(str) {
17
+ return str.charAt(0).toLowerCase() + str.slice(1);
18
+ }
19
+ export function toCollectionName(modelName) {
20
+ return modelName.toLowerCase() + 's';
21
+ }
22
+ export function mapToTSType(type, isArray, customTypeMap = typeMap) {
23
+ let baseType = customTypeMap[type] || type;
24
+ if (isArray)
25
+ return `${baseType}[]`;
26
+ return baseType;
27
+ }
28
+ export function getScalarFilterType(graphqlType, isRequired) {
29
+ const nullable = isRequired ? '' : 'Nullable';
30
+ switch (graphqlType) {
31
+ case 'String': return `string | String${nullable}Filter`;
32
+ case 'Int': return `number | Int${nullable}Filter`;
33
+ case 'Float': return `number | Float${nullable}Filter`;
34
+ case 'Boolean': return `boolean | Boolean${nullable}Filter`;
35
+ case 'DateTime':
36
+ case 'Date': return `Date | string | DateTime${nullable}Filter`;
37
+ case 'ID': return `string | IDFilter`;
38
+ case 'ObjectId': return `string | String${nullable}Filter`;
39
+ case 'BigInt': return `bigint | number | BigInt${nullable}Filter`;
40
+ case 'Bytes': return `Buffer | Bytes${nullable}Filter`;
41
+ case 'Json': return `any | JsonFilter`;
42
+ default: return `string | EnumFilter`; // Enum fallback
43
+ }
44
+ }
45
+ export function getScalarArrayFilterType(graphqlType) {
46
+ switch (graphqlType) {
47
+ case 'String': return `string | StringArrayFilter`;
48
+ case 'Int': return `number | IntArrayFilter`;
49
+ case 'Float': return `number | FloatArrayFilter`;
50
+ case 'BigInt': return `bigint | number | BigIntArrayFilter`;
51
+ case 'Bytes': return `Buffer | BytesArrayFilter`;
52
+ case 'DateTime':
53
+ case 'Date': return `Date | string | DateTimeArrayFilter`;
54
+ default: return `string | StringArrayFilter`;
55
+ }
56
+ }
57
+ // ===== TypeScript Compilation Helpers =====
58
+ export function addJsExtensionsToImports(content) {
59
+ let result = content;
60
+ result = result.replace(/import type/g, 'import');
61
+ result = result.replace(/from\s+['"](\.\.?\/[^'"]*)['"]/g, (_match, p1) => {
62
+ if (p1.endsWith('.js') || p1.endsWith('.ts'))
63
+ return _match;
64
+ const quoteChar = _match.includes('"') ? '"' : "'";
65
+ return `from ${quoteChar}${p1}.js${quoteChar}`;
66
+ });
67
+ result = result.replace(/import\s+['"](\.\.?\/[^'"]*)['"]/g, (_match, p1) => {
68
+ if (p1.endsWith('.js') || p1.endsWith('.ts'))
69
+ return _match;
70
+ const quoteChar = _match.includes('"') ? '"' : "'";
71
+ return `import ${quoteChar}${p1}.js${quoteChar}`;
72
+ });
73
+ return result;
74
+ }
75
+ export function removeTypeScriptSyntax(content) {
76
+ let result = content;
77
+ // Remove type annotations in parameter lists (e.g., `name: string` → `name`)
78
+ // Match `identifier: Type` only when followed by `,`, `)`, `=`, or end of param/default
79
+ result = result.replace(/(\w+)\s*:\s*(?:string|number|boolean|any|void|null|undefined|never|bigint|symbol|object)\s*(?=\s*(?:,|\)|=|\n))/g, '$1');
80
+ // Handle complex type annotations (e.g., `name: SomeType` → `name`)
81
+ result = result.replace(/(\w+)\s*:\s*[A-Za-z_$][A-Za-z0-9_.$]+(?:\s*\[\])?\s*(?=\s*(?:,|\)|=|\n))/g, '$1');
82
+ // Remove type annotations on variable/function declarations
83
+ result = result.replace(/(\w+(?:\s*\|\s*\w+)*)\s*:\s*[^{;]+(?=\s*[=;{])/g, '$1');
84
+ // Remove generic type parameters (e.g., `Array<string>` → `Array`) — handles nested <>
85
+ result = result.replace(/(\w+)<[^>\n]*(?:<[^>\n]*>[^>\n]*)*>(?=\s*(?:\(|\n|;))/g, '$1');
86
+ // Remove return type annotations (e.g., `): Type {` → `) {`)
87
+ result = result.replace(/\)\s*:\s*[A-Za-z_$][A-Za-z0-9_.$<>[\]\s,|&]+(?=\s*\{)/g, ')');
88
+ // Remove `as Type` casts
89
+ result = result.replace(/\s+as\s+[A-Za-z_$][A-Za-z0-9_.<>[\]\s,|&]+/g, '');
90
+ // Remove `as const` assertions
91
+ result = result.replace(/ as const/g, '');
92
+ // Remove export type/interface declarations
93
+ result = result.replace(/export\s+(type|interface)\s+\w+[\s\S]*?(?=\n(?:export|\/\/|\n|$))/g, '');
94
+ // Remove access modifiers
95
+ result = result.replace(/\b(private|protected|public|readonly)\s+/g, '');
96
+ // Remove abstract keyword
97
+ result = result.replace(/\babstract\s+/g, '');
98
+ // Collapse triple+ newlines
99
+ result = result.replace(/\n{3,}/g, '\n\n');
100
+ return result;
101
+ }
102
+ export function convertToJavaScript(content) {
103
+ let result = addJsExtensionsToImports(content);
104
+ result = removeTypeScriptSyntax(result);
105
+ return result;
106
+ }
107
+ export function compileTypeScriptToJavaScript(content) {
108
+ try {
109
+ const result = ts.transpileModule(content, {
110
+ compilerOptions: {
111
+ target: ts.ScriptTarget.ES2020,
112
+ module: ts.ModuleKind.ESNext,
113
+ removeComments: false,
114
+ preserveConstEnums: true,
115
+ sourceMap: true,
116
+ inlineSourceMap: true,
117
+ declaration: false,
118
+ strict: false,
119
+ noImplicitAny: false,
120
+ noImplicitReturns: false,
121
+ noFallthroughCasesInSwitch: false,
122
+ esModuleInterop: true,
123
+ skipLibCheck: true,
124
+ ignoreDeprecations: '5.0',
125
+ isolatedModules: true,
126
+ useUnknownInCatchVariables: false,
127
+ }
128
+ });
129
+ return addJsExtensionsToImports(result.outputText);
130
+ }
131
+ catch (error) {
132
+ // Fallback to improved regex-based conversion
133
+ const snippet = content.slice(0, 200).replace(/\n/g, '\\n');
134
+ console.error(`TypeScript compilation failed: ${error instanceof Error ? error.message : error}. Snippet: "${snippet}"`);
135
+ return convertToJavaScript(content);
136
+ }
137
+ }
138
+ export function convertTypesToJavaScript(content) {
139
+ const constExports = [];
140
+ const lines = content.split('\n');
141
+ for (let i = 0; i < lines.length; i++) {
142
+ const line = lines[i];
143
+ const constMatch = line.match(/export const (\w+)\s*=\s*(.+)/);
144
+ if (constMatch) {
145
+ const name = constMatch[1];
146
+ let value = constMatch[2];
147
+ let braceCount = (value.match(/{/g) || []).length - (value.match(/}/g) || []).length;
148
+ let j = i;
149
+ while (braceCount > 0 && j + 1 < lines.length) {
150
+ j++;
151
+ const nextLine = lines[j];
152
+ value += '\n' + nextLine;
153
+ braceCount += (nextLine.match(/{/g) || []).length - (nextLine.match(/}/g) || []).length;
154
+ }
155
+ value = value.replace(/ as const/g, '');
156
+ constExports.push({ name, value });
157
+ }
158
+ }
159
+ const stubExportNames = new Set();
160
+ const interfaceMatches = content.match(/export interface (\w+)/g);
161
+ if (interfaceMatches) {
162
+ interfaceMatches.forEach(match => {
163
+ const name = match.replace('export interface ', '').trim();
164
+ if (!constExports.some(exp => exp.name === name)) {
165
+ stubExportNames.add(name);
166
+ }
167
+ });
168
+ }
169
+ const typeMatches = content.match(/export type (\w+)/g);
170
+ if (typeMatches) {
171
+ typeMatches.forEach(match => {
172
+ const name = match.replace('export type ', '').split('<')[0].trim();
173
+ if (!constExports.some(exp => exp.name === name)) {
174
+ stubExportNames.add(name);
175
+ }
176
+ });
177
+ }
178
+ const namedExportMatches = content.match(/export \{([^}]+)\}/g);
179
+ if (namedExportMatches) {
180
+ namedExportMatches.forEach(match => {
181
+ const namesStr = match.replace('export {', '').replace('}', '').trim();
182
+ const names = namesStr.split(',').map(n => n.trim()).filter(n => n.length > 0);
183
+ names.forEach(name => {
184
+ if (!constExports.some(exp => exp.name === name)) {
185
+ stubExportNames.add(name);
186
+ }
187
+ });
188
+ });
189
+ }
190
+ let result = `// This file was auto-generated by Lenz. Do not edit manually.
191
+ // @generated
192
+ // This file provides JavaScript-compatible exports for TypeScript types.
193
+ // TypeScript projects should use the .d.ts files for full type information.
194
+
195
+ `;
196
+ const importLines = lines.filter(line => line.includes('import '));
197
+ const processedImports = new Set();
198
+ for (const line of importLines) {
199
+ let processed = line.replace(/import type/g, 'import');
200
+ processed = processed.replace(/from '\.\/([^']+)'/g, (_match, p1) => {
201
+ if (p1.endsWith('.js') || p1.endsWith('.ts'))
202
+ return _match;
203
+ return `from './${p1}.js'`;
204
+ });
205
+ if (!processedImports.has(processed)) {
206
+ processedImports.add(processed);
207
+ result += processed + '\n';
208
+ }
209
+ }
210
+ if (processedImports.size > 0)
211
+ result += '\n';
212
+ constExports.forEach(exp => {
213
+ result += `export const ${exp.name} = ${exp.value};\n`;
214
+ });
215
+ if (constExports.length > 0)
216
+ result += '\n';
217
+ const stubExportArray = Array.from(stubExportNames);
218
+ if (stubExportArray.length > 0) {
219
+ stubExportArray.forEach(name => {
220
+ result += `export const ${name} = undefined;\n`;
221
+ });
222
+ result += `\nexport default {\n`;
223
+ [...constExports.map(exp => exp.name), ...stubExportArray].forEach((name, index, arr) => {
224
+ result += ` ${name}: ${name}${index < arr.length - 1 ? ',' : ''}\n`;
225
+ });
226
+ result += `};\n`;
227
+ }
228
+ else if (constExports.length > 0) {
229
+ result += `\nexport default {\n`;
230
+ constExports.forEach((exp, index) => {
231
+ result += ` ${exp.name}: ${exp.name}${index < constExports.length - 1 ? ',' : ''}\n`;
232
+ });
233
+ result += `};\n`;
234
+ }
235
+ else {
236
+ result += `export {};\n`;
237
+ }
238
+ return result;
239
+ }
240
+ export function convertToDeclaration(content) {
241
+ const lines = content.split('\n');
242
+ const result = [];
243
+ let state = 'normal';
244
+ let braceDepth = 0;
245
+ for (let i = 0; i < lines.length; i++) {
246
+ const line = lines[i];
247
+ const trimmed = line;
248
+ if (state === 'skip-body') {
249
+ braceDepth += (trimmed.match(/\{/g) || []).length;
250
+ braceDepth -= (trimmed.match(/\}/g) || []).length;
251
+ if (braceDepth <= 0) {
252
+ state = 'class-body';
253
+ braceDepth = 1;
254
+ }
255
+ continue;
256
+ }
257
+ if (state === 'class-body') {
258
+ const openBrace = (trimmed.match(/\{/g) || []).length;
259
+ const closeBrace = (trimmed.match(/\}/g) || []).length;
260
+ braceDepth += openBrace - closeBrace;
261
+ if (braceDepth <= 0) {
262
+ state = 'normal';
263
+ result.push(line);
264
+ continue;
265
+ }
266
+ const isMember = /^\s*(?:(?:private|public|protected|static)\s+)*(?:async\s+)?(?:get\s+|set\s+)?\w+(?:\s*<[^>]*>)?\s*\(/.test(trimmed);
267
+ const isCtor = /^\s*(?:private|public|protected|static\s+)?constructor\s*\(/.test(trimmed);
268
+ const isMethod = isMember || isCtor;
269
+ if (isMethod && trimmed.includes('{')) {
270
+ const lastBrace = trimmed.lastIndexOf('{');
271
+ result.push(trimmed.substring(0, lastBrace).trimEnd() + ';');
272
+ const afterBrace = trimmed.substring(lastBrace + 1);
273
+ const remainingOpen = (afterBrace.match(/\{/g) || []).length;
274
+ const remainingClose = (afterBrace.match(/\}/g) || []).length;
275
+ if (remainingOpen > remainingClose) {
276
+ state = 'skip-body';
277
+ braceDepth = remainingOpen - remainingClose;
278
+ }
279
+ continue;
280
+ }
281
+ if (isMethod) {
282
+ let j = i + 1;
283
+ while (j < lines.length && lines[j].trim() === '')
284
+ j++;
285
+ if (j < lines.length && lines[j].trim() === '{') {
286
+ result.push(line + ';');
287
+ i = j;
288
+ state = 'skip-body';
289
+ braceDepth = 1;
290
+ continue;
291
+ }
292
+ result.push(line);
293
+ continue;
294
+ }
295
+ if (/^\s*(?:(?:private|public|protected|readonly|static)\s+)*\w+\??\s*:\s*\S+\s*=/.test(trimmed) &&
296
+ !trimmed.includes('=>') && !trimmed.includes('{')) {
297
+ const eqIdx = trimmed.indexOf('=');
298
+ result.push(trimmed.substring(0, eqIdx).trimEnd() + ';');
299
+ continue;
300
+ }
301
+ result.push(line);
302
+ continue;
303
+ }
304
+ if (/^\s*(?:export\s+)?(?:abstract\s+)?class\s+\w+/.test(trimmed)) {
305
+ state = 'class-body';
306
+ braceDepth = (trimmed.match(/\{/g) || []).length - (trimmed.match(/\}/g) || []).length;
307
+ result.push(line);
308
+ if (braceDepth <= 0)
309
+ state = 'normal';
310
+ continue;
311
+ }
312
+ result.push(line);
313
+ }
314
+ return result.join('\n');
315
+ }
316
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/engine/generators/helpers.ts"],"names":[],"mappings":"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"}
@@ -42,5 +42,8 @@ export declare class MissingRequiredFieldError extends SchemaValidationError {
42
42
  export declare class RelationValidationError extends SchemaValidationError {
43
43
  constructor(message: string, details?: Record<string, any>);
44
44
  }
45
+ export declare class NotFoundError extends LenzError {
46
+ constructor(modelName: string, where?: any, details?: Record<string, any>);
47
+ }
45
48
  export declare function isLenzError(error: any): error is LenzError;
46
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;gBAE7C,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAWzE;AAED,qBAAa,qBAAsB,SAAQ,SAAS;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAGD,qBAAa,uBAAwB,SAAQ,qBAAqB;gBACpD,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAOhE;AAED,qBAAa,mBAAoB,SAAQ,qBAAqB;gBAChD,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAO7D;AAED,qBAAa,mBAAoB,SAAQ,qBAAqB;gBAChD,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQhF;AAED,qBAAa,qBAAsB,SAAQ,qBAAqB;gBAClD,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CASnG;AAED,qBAAa,qBAAsB,SAAQ,qBAAqB;gBAClD,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQnF;AAED,qBAAa,yBAA0B,SAAQ,qBAAqB;gBACtD,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQhF;AAED,qBAAa,uBAAwB,SAAQ,qBAAqB;gBACpD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,SAAS,CAE1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;gBAE7C,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAWzE;AAED,qBAAa,qBAAsB,SAAQ,SAAS;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAGD,qBAAa,uBAAwB,SAAQ,qBAAqB;gBACpD,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAOhE;AAED,qBAAa,mBAAoB,SAAQ,qBAAqB;gBAChD,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAO7D;AAED,qBAAa,mBAAoB,SAAQ,qBAAqB;gBAChD,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQhF;AAED,qBAAa,qBAAsB,SAAQ,qBAAqB;gBAClD,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CASnG;AAED,qBAAa,qBAAsB,SAAQ,qBAAqB;gBAClD,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQnF;AAED,qBAAa,yBAA0B,SAAQ,qBAAqB;gBACtD,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQhF;AAED,qBAAa,uBAAwB,SAAQ,qBAAqB;gBACpD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3D;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ1E;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,SAAS,CAE1D"}
@@ -109,8 +109,18 @@ export class RelationValidationError extends SchemaValidationError {
109
109
  this.name = 'RelationValidationError';
110
110
  }
111
111
  }
112
+ export class NotFoundError extends LenzError {
113
+ constructor(modelName, where, details) {
114
+ super('NOT_FOUND', `${modelName} not found with where: ${JSON.stringify(where)}`, {
115
+ modelName,
116
+ where,
117
+ ...details
118
+ });
119
+ this.name = 'NotFoundError';
120
+ }
121
+ }
112
122
  // Utility function to check if error is a LenzError
113
123
  export function isLenzError(error) {
114
- return error && typeof error === 'object' && error.name === 'LenzError';
124
+ return error instanceof LenzError;
115
125
  }
116
126
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,6 @@ declare const _default: {
6
6
  LenzEngine: typeof LenzEngineClass;
7
7
  generate: import("commander").Command;
8
8
  init: import("commander").Command;
9
- studio: import("commander").Command;
10
9
  };
11
10
  export default _default;
12
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,cAAc,mBAAmB,CAAC;AAQlC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;;;;;;;AACvE,wBAKE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,cAAc,mBAAmB,CAAC;AAOlC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;;;;;;AACvE,wBAIE"}
package/dist/index.js CHANGED
@@ -2,9 +2,8 @@
2
2
  export { LenzEngine } from './engine/LenzEngine.js';
3
3
  export * from './config/index.js';
4
4
  // CLI commands
5
- import { generateCommand } from './cli/commands/generate.js';
5
+ import { generateCommand } from './cli/commands/generate/index.js';
6
6
  import { initCommand } from './cli/commands/init.js';
7
- import { studioCommand } from './cli/commands/studio.js';
8
7
  // Types
9
8
  export * from './engine/GraphQLParser.js';
10
9
  // Default export
@@ -12,7 +11,6 @@ import { LenzEngine as LenzEngineClass } from './engine/LenzEngine.js';
12
11
  export default {
13
12
  LenzEngine: LenzEngineClass,
14
13
  generate: generateCommand,
15
- init: initCommand,
16
- studio: studioCommand
14
+ init: initCommand
17
15
  };
18
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,cAAc,mBAAmB,CAAC;AAElC,eAAe;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,QAAQ;AACR,cAAc,2BAA2B,CAAC;AAE1C,iBAAiB;AACjB,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvE,eAAe;IACb,UAAU,EAAE,eAAe;IAC3B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,aAAa;CACtB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,cAAc,mBAAmB,CAAC;AAElC,eAAe;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,QAAQ;AACR,cAAc,2BAA2B,CAAC;AAE1C,iBAAiB;AACjB,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvE,eAAe;IACb,UAAU,EAAE,eAAe;IAC3B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,WAAW;CAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bairock/lenz",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "description": "Lenz ORM for MongoDB with GraphQL SDL - Prisma 7.0 style",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,6 +15,9 @@
15
15
  "build": "tsc",
16
16
  "dev": "tsc --watch",
17
17
  "clean": "rm -rf dist",
18
+ "test": "vitest run",
19
+ "test:watch": "vitest",
20
+ "test:coverage": "vitest run --coverage",
18
21
  "lint": "eslint src/**/*.ts",
19
22
  "format": "prettier --write src/**/*.ts",
20
23
  "prepublishOnly": "npm run build"
@@ -30,14 +33,14 @@
30
33
  "author": "Your Name",
31
34
  "license": "MIT",
32
35
  "dependencies": {
33
- "boxen": "^7.1.1",
34
36
  "chalk": "^5.3.0",
35
37
  "commander": "^11.1.0",
36
38
  "dotenv": "^16.3.1",
37
39
  "figlet": "^1.6.0",
38
40
  "graphql": "^16.8.0",
41
+ "graphql-tag": "^2.12.6",
39
42
  "inquirer": "^9.2.12",
40
- "typescript": "^5.3.0"
43
+ "mongodb": "^6.0.0"
41
44
  },
42
45
  "devDependencies": {
43
46
  "@types/figlet": "^1.5.6",
@@ -45,8 +48,11 @@
45
48
  "@types/node": "^20.10.0",
46
49
  "@typescript-eslint/eslint-plugin": "^6.13.2",
47
50
  "@typescript-eslint/parser": "^6.13.2",
51
+ "@vitest/coverage-v8": "^4.1.7",
48
52
  "eslint": "^8.55.0",
49
- "prettier": "^3.1.0"
53
+ "prettier": "^3.1.0",
54
+ "typescript": "^5.3.0",
55
+ "vitest": "^4.1.7"
50
56
  },
51
57
  "engines": {
52
58
  "node": ">=18.0.0"