@auto-engineer/server-generator-nestjs 0.20.0 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.json +3 -3
  3. package/.turbo/turbo-build.log +0 -5
  4. package/.turbo/turbo-test.log +0 -13
  5. package/.turbo/turbo-type-check.log +0 -4
  6. package/dist/src/codegen/entity-consolidation.d.ts +0 -19
  7. package/dist/src/codegen/entity-consolidation.d.ts.map +0 -1
  8. package/dist/src/codegen/entity-consolidation.js +0 -134
  9. package/dist/src/codegen/entity-consolidation.js.map +0 -1
  10. package/dist/src/codegen/extract/commands.d.ts +0 -25
  11. package/dist/src/codegen/extract/commands.d.ts.map +0 -1
  12. package/dist/src/codegen/extract/commands.js +0 -67
  13. package/dist/src/codegen/extract/commands.js.map +0 -1
  14. package/dist/src/codegen/extract/data-sink.d.ts +0 -6
  15. package/dist/src/codegen/extract/data-sink.d.ts.map +0 -1
  16. package/dist/src/codegen/extract/data-sink.js +0 -78
  17. package/dist/src/codegen/extract/data-sink.js.map +0 -1
  18. package/dist/src/codegen/extract/events.d.ts +0 -10
  19. package/dist/src/codegen/extract/events.d.ts.map +0 -1
  20. package/dist/src/codegen/extract/events.js +0 -42
  21. package/dist/src/codegen/extract/events.js.map +0 -1
  22. package/dist/src/codegen/extract/fields.d.ts +0 -3
  23. package/dist/src/codegen/extract/fields.d.ts.map +0 -1
  24. package/dist/src/codegen/extract/fields.js +0 -9
  25. package/dist/src/codegen/extract/fields.js.map +0 -1
  26. package/dist/src/codegen/extract/graphql.d.ts +0 -14
  27. package/dist/src/codegen/extract/graphql.d.ts.map +0 -1
  28. package/dist/src/codegen/extract/graphql.js +0 -81
  29. package/dist/src/codegen/extract/graphql.js.map +0 -1
  30. package/dist/src/codegen/extract/gwt.d.ts +0 -6
  31. package/dist/src/codegen/extract/gwt.d.ts.map +0 -1
  32. package/dist/src/codegen/extract/gwt.js +0 -64
  33. package/dist/src/codegen/extract/gwt.js.map +0 -1
  34. package/dist/src/codegen/extract/imports.d.ts +0 -29
  35. package/dist/src/codegen/extract/imports.d.ts.map +0 -1
  36. package/dist/src/codegen/extract/imports.js +0 -55
  37. package/dist/src/codegen/extract/imports.js.map +0 -1
  38. package/dist/src/codegen/extract/index.d.ts +0 -10
  39. package/dist/src/codegen/extract/index.d.ts.map +0 -1
  40. package/dist/src/codegen/extract/index.js +0 -10
  41. package/dist/src/codegen/extract/index.js.map +0 -1
  42. package/dist/src/codegen/extract/messages.d.ts +0 -17
  43. package/dist/src/codegen/extract/messages.d.ts.map +0 -1
  44. package/dist/src/codegen/extract/messages.js +0 -172
  45. package/dist/src/codegen/extract/messages.js.map +0 -1
  46. package/dist/src/codegen/extract/projection.d.ts +0 -5
  47. package/dist/src/codegen/extract/projection.d.ts.map +0 -1
  48. package/dist/src/codegen/extract/projection.js +0 -44
  49. package/dist/src/codegen/extract/projection.js.map +0 -1
  50. package/dist/src/codegen/extract/query.d.ts +0 -14
  51. package/dist/src/codegen/extract/query.d.ts.map +0 -1
  52. package/dist/src/codegen/extract/query.js +0 -17
  53. package/dist/src/codegen/extract/query.js.map +0 -1
  54. package/dist/src/codegen/extract/states.d.ts +0 -5
  55. package/dist/src/codegen/extract/states.d.ts.map +0 -1
  56. package/dist/src/codegen/extract/states.js +0 -48
  57. package/dist/src/codegen/extract/states.js.map +0 -1
  58. package/dist/src/codegen/extract/step-converter.d.ts +0 -17
  59. package/dist/src/codegen/extract/step-converter.d.ts.map +0 -1
  60. package/dist/src/codegen/extract/step-converter.js +0 -82
  61. package/dist/src/codegen/extract/step-converter.js.map +0 -1
  62. package/dist/src/codegen/extract/step-types.d.ts +0 -29
  63. package/dist/src/codegen/extract/step-types.d.ts.map +0 -1
  64. package/dist/src/codegen/extract/step-types.js +0 -16
  65. package/dist/src/codegen/extract/step-types.js.map +0 -1
  66. package/dist/src/codegen/extract/type-helpers.d.ts +0 -13
  67. package/dist/src/codegen/extract/type-helpers.d.ts.map +0 -1
  68. package/dist/src/codegen/extract/type-helpers.js +0 -98
  69. package/dist/src/codegen/extract/type-helpers.js.map +0 -1
  70. package/dist/src/codegen/scaffoldFromSchema.d.ts +0 -9
  71. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +0 -1
  72. package/dist/src/codegen/scaffoldFromSchema.js +0 -389
  73. package/dist/src/codegen/scaffoldFromSchema.js.map +0 -1
  74. package/dist/src/codegen/templates/command/command.ts.ejs +0 -16
  75. package/dist/src/codegen/templates/command/handler.specs.ts.ejs +0 -50
  76. package/dist/src/codegen/templates/command/handler.ts.ejs +0 -30
  77. package/dist/src/codegen/templates/command/input.ts.ejs +0 -23
  78. package/dist/src/codegen/templates/command/resolver.ts.ejs +0 -56
  79. package/dist/src/codegen/templates/entity/entity.ts.ejs +0 -35
  80. package/dist/src/codegen/templates/entity/index.ts.ejs +0 -6
  81. package/dist/src/codegen/templates/module/app-module.ts.ejs +0 -65
  82. package/dist/src/codegen/templates/module/domain-module.ts.ejs +0 -46
  83. package/dist/src/codegen/templates/query/handler.ts.ejs +0 -25
  84. package/dist/src/codegen/templates/query/query.ts.ejs +0 -1
  85. package/dist/src/codegen/templates/query/resolver.ts.ejs +0 -20
  86. package/dist/src/codegen/templates/query/type.ts.ejs +0 -24
  87. package/dist/src/codegen/types.d.ts +0 -38
  88. package/dist/src/codegen/types.d.ts.map +0 -1
  89. package/dist/src/codegen/types.js +0 -2
  90. package/dist/src/codegen/types.js.map +0 -1
  91. package/dist/src/codegen/utils/path.d.ts +0 -4
  92. package/dist/src/codegen/utils/path.d.ts.map +0 -1
  93. package/dist/src/codegen/utils/path.js +0 -18
  94. package/dist/src/codegen/utils/path.js.map +0 -1
  95. package/dist/src/commands/generate-server.d.ts +0 -28
  96. package/dist/src/commands/generate-server.d.ts.map +0 -1
  97. package/dist/src/commands/generate-server.js +0 -421
  98. package/dist/src/commands/generate-server.js.map +0 -1
  99. package/dist/src/index.d.ts +0 -3
  100. package/dist/src/index.d.ts.map +0 -1
  101. package/dist/src/index.js +0 -3
  102. package/dist/src/index.js.map +0 -1
  103. package/dist/src/shared/graphql-types.ts +0 -19
  104. package/dist/src/shared/main.ts +0 -27
  105. package/dist/src/shared/mikro-orm.config.ts +0 -18
  106. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,421 +0,0 @@
1
- import { defineCommandHandler } from '@auto-engineer/message-bus';
2
- import createDebug from 'debug';
3
- import { execa } from 'execa';
4
- import { existsSync } from 'fs';
5
- import { readFile, writeFile } from 'fs/promises';
6
- import fs from 'fs-extra';
7
- import * as path from 'path';
8
- import { dirname, join, resolve } from 'path';
9
- import { fileURLToPath } from 'url';
10
- import { generateScaffoldFilePlans, writeScaffoldFilePlans } from '../codegen/scaffoldFromSchema.js';
11
- import { ensureDirExists, ensureDirPath, toKebabCase } from '../codegen/utils/path.js';
12
- const debug = createDebug('auto:server-generator-nestjs');
13
- const debugModel = createDebug('auto:server-generator-nestjs:schema');
14
- const debugFiles = createDebug('auto:server-generator-nestjs:files');
15
- const debugDeps = createDebug('auto:server-generator-nestjs:deps');
16
- const debugScaffold = createDebug('auto:server-generator-nestjs:scaffold');
17
- const __filename = fileURLToPath(import.meta.url);
18
- const __dirname = dirname(__filename);
19
- export const commandHandler = defineCommandHandler({
20
- name: 'GenerateServer',
21
- alias: 'generate:server',
22
- description: 'Generate server from model',
23
- category: 'generate',
24
- icon: 'server',
25
- events: ['ServerGenerated', 'ServerGenerationFailed', 'SliceGenerated'],
26
- fields: {
27
- modelPath: {
28
- description: 'Path to the json model file',
29
- required: true,
30
- },
31
- destination: {
32
- description: 'Destination directory for generated server',
33
- required: true,
34
- },
35
- },
36
- examples: ['$ auto generate:server --model-path=.context/model.json --destination=.'],
37
- handle: async (command) => {
38
- const typedCommand = command;
39
- const result = await handleGenerateServerCommandInternal(typedCommand);
40
- const events = Array.isArray(result) ? result : [result];
41
- const finalEvent = events[events.length - 1];
42
- if (finalEvent.type === 'ServerGenerated') {
43
- debug('Server generated at %s', finalEvent.data.serverDir);
44
- }
45
- else if (finalEvent.type === 'ServerGenerationFailed') {
46
- debug('Failed to generate server: %s', finalEvent.data.error);
47
- }
48
- return result;
49
- },
50
- });
51
- async function validateModelFile(absModel, command) {
52
- if (!existsSync(absModel)) {
53
- debug('Model file not found at %s', absModel);
54
- return {
55
- type: 'ServerGenerationFailed',
56
- data: {
57
- modelPath: command.data.modelPath,
58
- destination: command.data.destination,
59
- error: `Model file not found at ${absModel}`,
60
- },
61
- timestamp: new Date(),
62
- requestId: command.requestId,
63
- correlationId: command.correlationId,
64
- };
65
- }
66
- return null;
67
- }
68
- async function readAndParseModel(absModel) {
69
- debugModel('Reading model file from %s', absModel);
70
- const content = await readFile(absModel, 'utf8');
71
- debugModel('Model content length: %d bytes', content.length);
72
- const spec = JSON.parse(content);
73
- debugModel('Parsed model:');
74
- debugModel(' Flows: %d', spec.narratives?.length || 0);
75
- debugModel(' Messages: %d', spec.messages?.length || 0);
76
- debugModel(' Integrations: %d', spec.integrations?.length ?? 0);
77
- logFlowDetails(spec);
78
- return spec;
79
- }
80
- function logFlowDetails(spec) {
81
- if (spec.narratives !== undefined && spec.narratives.length > 0) {
82
- debugModel('Flow names: %o', spec.narratives.map((f) => f.name));
83
- spec.narratives.forEach((flow) => {
84
- debugModel(' Flow "%s" has %d slices', flow.name, flow.slices?.length || 0);
85
- flow.slices?.forEach((slice) => {
86
- debugModel(' Slice: %s (type: %s)', slice.name, slice.type);
87
- });
88
- });
89
- }
90
- }
91
- async function cleanStaleCompiledFiles(serverDir) {
92
- const sharedTypesDir = join(serverDir, 'src', 'domain', 'shared');
93
- debugScaffold('Cleaning stale compiled files from %s', sharedTypesDir);
94
- if (!(await fs.pathExists(sharedTypesDir))) {
95
- debugScaffold(' Shared types directory does not exist, skipping cleanup');
96
- return;
97
- }
98
- const files = await fs.readdir(sharedTypesDir);
99
- const staleFiles = files.filter((file) => file.endsWith('.js') || file.endsWith('.d.ts') || file.endsWith('.js.map'));
100
- if (staleFiles.length === 0) {
101
- debugScaffold(' No stale compiled files found');
102
- return;
103
- }
104
- debugScaffold(' Found %d stale compiled files to remove', staleFiles.length);
105
- for (const file of staleFiles) {
106
- const filePath = join(sharedTypesDir, file);
107
- await fs.remove(filePath);
108
- debugScaffold(' Removed: %s', file);
109
- }
110
- debugScaffold(' Cleanup completed');
111
- }
112
- async function generateAndWriteScaffold(spec, serverDir) {
113
- const domainPath = join(serverDir, 'src', 'domain');
114
- debugScaffold('Generating scaffold file plans');
115
- debugScaffold(' Domain path: %s', domainPath);
116
- debugScaffold(' Number of flows: %d', spec.narratives?.length || 0);
117
- const filePlans = await generateScaffoldFilePlans(spec.narratives, spec.messages, spec.integrations, domainPath);
118
- debugScaffold('Generated %d file plans', filePlans.length);
119
- if (filePlans.length > 0) {
120
- debugScaffold('Sample file paths:');
121
- filePlans.slice(0, 5).forEach((plan) => {
122
- debugScaffold(' - %s', plan.outputPath);
123
- });
124
- }
125
- await writeScaffoldFilePlans(filePlans);
126
- debugScaffold('Written all scaffold files');
127
- await cleanStaleCompiledFiles(serverDir);
128
- }
129
- async function copyAllFiles(serverDir) {
130
- const packageDistRoot = path.resolve(__dirname, '../..');
131
- debugFiles('Package dist root: %s', packageDistRoot);
132
- debugFiles('Copying main.ts...');
133
- await copyRootFilesFromSrc(path.join(packageDistRoot, 'src', 'main.ts'), path.join(serverDir, 'src'));
134
- debugFiles('Copying mikro-orm.config.ts...');
135
- await copyRootFilesFromSrc(path.join(packageDistRoot, 'src', 'mikro-orm.config.ts'), path.join(serverDir));
136
- debugFiles('Copying domain shared files...');
137
- await copySharedAndRootFiles(path.join(packageDistRoot, 'src', 'shared'), path.join(serverDir, 'src', 'domain', 'shared'));
138
- }
139
- async function writeConfigurationFiles(serverDir, _absDest) {
140
- debugFiles(`Writing package.json... to ${serverDir}`);
141
- await writePackage(serverDir);
142
- debugFiles(`Writing tsconfig.json... to ${serverDir}`);
143
- await writeTsconfig(serverDir);
144
- debugFiles(`Writing vitest config... to ${serverDir}`);
145
- await writeVitestConfig(serverDir);
146
- debugFiles(`Writing .gitignore... to ${serverDir}`);
147
- await writeGitignore(serverDir);
148
- }
149
- function createServerSuccessEvent(command, serverDir, absDest) {
150
- return {
151
- type: 'ServerGenerated',
152
- data: {
153
- modelPath: command.data.modelPath,
154
- destination: command.data.destination,
155
- serverDir,
156
- contextSchemaGraphQL: join(absDest, '.context', 'schema.graphql'),
157
- },
158
- timestamp: new Date(),
159
- requestId: command.requestId,
160
- correlationId: command.correlationId,
161
- };
162
- }
163
- function createServerFailureEvent(command, error) {
164
- debug('Server generation failed with error: %O', error);
165
- return {
166
- type: 'ServerGenerationFailed',
167
- data: {
168
- modelPath: command.data.modelPath,
169
- destination: command.data.destination,
170
- error: error instanceof Error ? error.message : 'Unknown error occurred',
171
- },
172
- timestamp: new Date(),
173
- requestId: command.requestId,
174
- correlationId: command.correlationId,
175
- };
176
- }
177
- export async function handleGenerateServerCommandInternal(command) {
178
- const { modelPath, destination } = command.data;
179
- const events = [];
180
- debug('Starting server generation');
181
- debug('Model path: %s', modelPath);
182
- debug('Destination: %s', destination);
183
- try {
184
- const absDest = resolve(destination);
185
- const absModel = resolve(modelPath);
186
- debug('Resolved paths:');
187
- debug(' Absolute destination: %s', absDest);
188
- debug(' Absolute model: %s', absModel);
189
- const validationError = await validateModelFile(absModel, command);
190
- if (validationError)
191
- return [validationError];
192
- const spec = await readAndParseModel(absModel);
193
- const serverDir = join(absDest, 'server');
194
- debug('Server directory: %s', serverDir);
195
- debug('🔄 Generating server... %s', serverDir);
196
- debug('Clearing existing server directory if it exists');
197
- await fs.remove(serverDir);
198
- debug('Server directory cleared');
199
- await ensureDirExists(serverDir);
200
- debugFiles('Created server directory: %s', serverDir);
201
- await copyAllFiles(serverDir);
202
- await generateAndWriteScaffold(spec, serverDir);
203
- if (Array.isArray(spec.narratives) && spec.narratives.length > 0) {
204
- for (const flow of spec.narratives) {
205
- if (Array.isArray(flow.slices) && flow.slices.length > 0) {
206
- for (const slice of flow.slices) {
207
- if (slice.type === 'experience')
208
- continue;
209
- const sliceEvent = {
210
- type: 'SliceGenerated',
211
- data: {
212
- flowName: flow.name,
213
- sliceName: slice.name,
214
- sliceType: slice.type,
215
- schemaPath: command.data.modelPath,
216
- slicePath: ensureDirPath('./server/src/domain', toKebabCase(flow.name), toKebabCase(slice.name)),
217
- },
218
- timestamp: new Date(),
219
- requestId: command.requestId,
220
- correlationId: command.correlationId,
221
- };
222
- events.push(sliceEvent);
223
- debug('SliceGenerated: %s.%s', flow.name, slice.name);
224
- }
225
- }
226
- }
227
- }
228
- await writeConfigurationFiles(serverDir, absDest);
229
- debugDeps('Installing dependencies...');
230
- await installDependencies(serverDir);
231
- debug('Server generation completed successfully');
232
- debug('Server directory: %s', serverDir);
233
- events.push(createServerSuccessEvent(command, serverDir, absDest));
234
- return events;
235
- }
236
- catch (error) {
237
- events.push(createServerFailureEvent(command, error));
238
- return events;
239
- }
240
- }
241
- async function copyRootFilesFromSrc(from, to) {
242
- debugFiles('copyRootFilesFromSrc: from=%s, to=%s', from, to);
243
- const fromStat = await fs.stat(from).catch(() => undefined);
244
- if (fromStat !== undefined && fromStat.isFile()) {
245
- debugFiles(' Source is a file, copying directly');
246
- await fs.ensureDir(to);
247
- const destFile = path.join(to, path.basename(from));
248
- await fs.copy(from, destFile);
249
- debugFiles(' Copied file to %s', destFile);
250
- return;
251
- }
252
- if (!(await fs.pathExists(from))) {
253
- debugFiles(' Source path does not exist: %s', from);
254
- return;
255
- }
256
- await fs.ensureDir(to);
257
- const rootFiles = await fs.readdir(from);
258
- debugFiles(' Found %d files in source directory', rootFiles.length);
259
- for (const file of rootFiles) {
260
- const srcFile = path.join(from, file);
261
- const stat = await fs.stat(srcFile);
262
- if (stat.isFile()) {
263
- const destFile = path.join(to, file);
264
- await fs.copy(srcFile, destFile);
265
- debugFiles(' Copied: %s', file);
266
- }
267
- }
268
- }
269
- async function copySharedAndRootFiles(from, to) {
270
- if (!(await fs.pathExists(from))) {
271
- debugFiles(' Source path does not exist: %s', from);
272
- return;
273
- }
274
- await fs.ensureDir(to);
275
- const files = await fs.readdir(from);
276
- for (const file of files) {
277
- if (file.endsWith('.ts')) {
278
- const srcFile = path.join(from, file);
279
- const destFile = path.join(to, file);
280
- await fs.copy(srcFile, destFile);
281
- debugFiles(' Copied shared file: %s', file);
282
- }
283
- }
284
- }
285
- async function writePackage(dest) {
286
- debugFiles('Writing package.json to %s', dest);
287
- const packageRoot = path.resolve(__dirname, '../../..');
288
- const localPkgPath = path.resolve(packageRoot, 'package.json');
289
- const rootPkgPath = path.resolve(packageRoot, '../../package.json');
290
- debugFiles(' package root: %s', packageRoot);
291
- debugFiles(' Local package path: %s', localPkgPath);
292
- debugFiles(' Root package path: %s', rootPkgPath);
293
- const localPkg = (await fs.readJson(localPkgPath));
294
- const rootPkg = (await fs.readJson(rootPkgPath).catch(() => ({})));
295
- const getDepVersion = (dep) => {
296
- const version = localPkg.dependencies?.[dep] ??
297
- localPkg.devDependencies?.[dep] ??
298
- rootPkg.dependencies?.[dep] ??
299
- rootPkg.devDependencies?.[dep];
300
- if (version !== undefined) {
301
- debugFiles(' Found version for %s: %s', dep, version);
302
- }
303
- return version;
304
- };
305
- const resolveDeps = (deps) => {
306
- return deps.reduce((acc, dep) => {
307
- const version = getDepVersion(dep);
308
- if (typeof version === 'string') {
309
- acc[dep] = version;
310
- }
311
- return acc;
312
- }, {});
313
- };
314
- const packageJson = {
315
- name: 'generated-server',
316
- version: '0.0.0',
317
- private: true,
318
- scripts: {
319
- start: 'ts-node src/main.ts',
320
- 'type-check': 'tsc --noEmit',
321
- test: 'vitest run',
322
- dev: 'ts-node --transpile-only --watch src/main.ts',
323
- postinstall: 'npm rebuild sqlite3 2>/dev/null || true',
324
- 'migration:create': 'mikro-orm migration:create',
325
- 'migration:up': 'mikro-orm migration:up',
326
- 'migration:down': 'mikro-orm migration:down',
327
- },
328
- dependencies: resolveDeps([
329
- '@apollo/server',
330
- '@mikro-orm/core',
331
- '@mikro-orm/migrations',
332
- '@mikro-orm/nestjs',
333
- '@mikro-orm/reflection',
334
- '@mikro-orm/sqlite',
335
- '@nestjs/apollo',
336
- '@nestjs/common',
337
- '@nestjs/core',
338
- '@nestjs/cqrs',
339
- '@nestjs/graphql',
340
- '@nestjs/platform-express',
341
- 'class-transformer',
342
- 'class-validator',
343
- 'fast-glob',
344
- 'graphql',
345
- 'graphql-type-json',
346
- 'reflect-metadata',
347
- 'rxjs',
348
- 'sqlite3',
349
- 'ts-node',
350
- 'uuid',
351
- ]),
352
- devDependencies: resolveDeps(['@mikro-orm/cli', '@nestjs/cli', '@nestjs/testing', 'typescript', 'vitest', 'tsx']),
353
- };
354
- debugFiles('Loading package.json from', path.join(dest, 'package.json'));
355
- const existingPkg = (await fs.readJson(path.join(dest, 'package.json')).catch(() => {
356
- debugFiles('Failed to load package.json, using empty object');
357
- return {};
358
- }));
359
- debugFiles('Existing package.json:', existingPkg);
360
- const mergedDeps = {
361
- ...existingPkg.dependencies,
362
- ...packageJson.dependencies,
363
- };
364
- await fs.writeJson(path.join(dest, 'package.json'), { ...packageJson, dependencies: mergedDeps }, { spaces: 2 });
365
- }
366
- async function writeTsconfig(dest) {
367
- const tsconfig = {
368
- compilerOptions: {
369
- target: 'ES2022',
370
- module: 'CommonJS',
371
- moduleResolution: 'node',
372
- strict: true,
373
- outDir: './dist',
374
- skipLibCheck: true,
375
- emitDecoratorMetadata: true,
376
- experimentalDecorators: true,
377
- esModuleInterop: true,
378
- allowSyntheticDefaultImports: true,
379
- baseUrl: './',
380
- incremental: true,
381
- declaration: true,
382
- },
383
- include: ['src/**/*', 'vitest.config.ts', 'mikro-orm.config.ts'],
384
- exclude: ['dist', 'node_modules'],
385
- };
386
- const tsconfigPath = path.join(dest, 'tsconfig.json');
387
- if (!(await fs.pathExists(tsconfigPath))) {
388
- await fs.writeJson(tsconfigPath, tsconfig, { spaces: 2 });
389
- }
390
- }
391
- async function writeVitestConfig(dest) {
392
- const vitestConfig = `import { defineConfig } from 'vitest/config';
393
-
394
- export default defineConfig({
395
- test: {
396
- include: ['src/**/*.specs.ts'],
397
- },
398
- });
399
- `;
400
- await writeFile(path.join(dest, 'vitest.config.ts'), vitestConfig, 'utf-8');
401
- }
402
- async function writeGitignore(dest) {
403
- const gitignoreContent = `node_modules
404
- dist
405
- .env
406
- db.sqlite
407
- temp
408
- *.log
409
- `;
410
- await writeFile(path.join(dest, '.gitignore'), gitignoreContent, 'utf-8');
411
- }
412
- async function installDependencies(serverDir) {
413
- debugDeps('Installing dependencies...');
414
- debugDeps('Starting dependency installation in %s', serverDir);
415
- debugDeps('Hint: You can debug by manually running: cd server && pnpm install');
416
- debugDeps('Running pnpm install');
417
- await execa('pnpm', ['install', '--ignore-workspace'], { cwd: serverDir });
418
- debugDeps('Dependencies installed successfully');
419
- }
420
- export default commandHandler;
421
- //# sourceMappingURL=generate-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-server.js","sourceRoot":"","sources":["../../../src/commands/generate-server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare const COMMANDS: import("@auto-engineer/message-bus").CommandHandler[];
2
- export type { GenerateServerCommand, GenerateServerEvents, ServerGeneratedEvent, ServerGenerationFailedEvent, SliceGeneratedEvent, } from './commands/generate-server.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,uDAA0B,CAAC;AAChD,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,+BAA+B,CAAC"}
package/dist/src/index.js DELETED
@@ -1,3 +0,0 @@
1
- import { commandHandler as generateServerHandler } from './commands/generate-server.js';
2
- export const COMMANDS = [generateServerHandler];
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAExF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,qBAAqB,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- import { Field, ObjectType } from '@nestjs/graphql';
2
-
3
- @ObjectType()
4
- export class MutationError {
5
- @Field(() => String)
6
- type!: string;
7
-
8
- @Field(() => String, { nullable: true })
9
- message?: string;
10
- }
11
-
12
- @ObjectType()
13
- export class MutationResponse {
14
- @Field(() => Boolean)
15
- success!: boolean;
16
-
17
- @Field(() => MutationError, { nullable: true })
18
- error?: MutationError;
19
- }
@@ -1,27 +0,0 @@
1
- import 'reflect-metadata';
2
- import { Logger } from '@nestjs/common';
3
- import { NestFactory } from '@nestjs/core';
4
- import { AppModule } from './app.module';
5
-
6
- async function bootstrap() {
7
- const logger = new Logger('Bootstrap');
8
- const port = parseInt(process.env.PORT ?? '4000', 10);
9
-
10
- try {
11
- const app = await NestFactory.create(AppModule);
12
- await app.listen(port);
13
- logger.log(`🚀 GraphQL server ready at http://localhost:${port}/graphql`);
14
- } catch (error) {
15
- logger.error('Failed to start server:', error);
16
- if (error instanceof Error) {
17
- logger.error('Stack trace:', error.stack);
18
- }
19
- throw error;
20
- }
21
- }
22
-
23
- bootstrap().catch((err) => {
24
- const logger = new Logger('Bootstrap');
25
- logger.error('Unhandled error in bootstrap:', err);
26
- process.exit(1);
27
- });
@@ -1,18 +0,0 @@
1
- import { Migrator } from '@mikro-orm/migrations';
2
- import { defineConfig } from '@mikro-orm/sqlite';
3
- import { join } from 'path';
4
-
5
- export default defineConfig({
6
- entities: [],
7
- dbName: process.env.NODE_ENV === 'test' ? ':memory:' : './db.sqlite',
8
- debug: process.env.NODE_ENV !== 'production',
9
- allowGlobalContext: true,
10
- extensions: [Migrator],
11
- migrations: {
12
- path: join(__dirname, 'src/migrations'),
13
- glob: '!(*.d).{js,ts}',
14
- transactional: true,
15
- disableForeignKeys: false,
16
- emit: 'ts',
17
- },
18
- });