@veloxts/cli 0.4.0 → 0.4.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 (140) hide show
  1. package/README.md +23 -144
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/generate.d.ts +17 -0
  5. package/dist/commands/generate.d.ts.map +1 -0
  6. package/dist/commands/generate.js +219 -0
  7. package/dist/commands/generate.js.map +1 -0
  8. package/dist/commands/migrate.d.ts +8 -3
  9. package/dist/commands/migrate.d.ts.map +1 -1
  10. package/dist/commands/migrate.js +17 -123
  11. package/dist/commands/migrate.js.map +1 -1
  12. package/dist/generators/base.d.ts +76 -0
  13. package/dist/generators/base.d.ts.map +1 -0
  14. package/dist/generators/base.js +271 -0
  15. package/dist/generators/base.js.map +1 -0
  16. package/dist/generators/generators/index.d.ts +17 -0
  17. package/dist/generators/generators/index.d.ts.map +1 -0
  18. package/dist/generators/generators/index.js +43 -0
  19. package/dist/generators/generators/index.js.map +1 -0
  20. package/dist/generators/generators/migration.d.ts +43 -0
  21. package/dist/generators/generators/migration.d.ts.map +1 -0
  22. package/dist/generators/generators/migration.js +121 -0
  23. package/dist/generators/generators/migration.js.map +1 -0
  24. package/dist/generators/generators/model.d.ts +38 -0
  25. package/dist/generators/generators/model.d.ts.map +1 -0
  26. package/dist/generators/generators/model.js +108 -0
  27. package/dist/generators/generators/model.js.map +1 -0
  28. package/dist/generators/generators/procedure.d.ts +37 -0
  29. package/dist/generators/generators/procedure.d.ts.map +1 -0
  30. package/dist/generators/generators/procedure.js +99 -0
  31. package/dist/generators/generators/procedure.js.map +1 -0
  32. package/dist/generators/generators/resource.d.ts +29 -0
  33. package/dist/generators/generators/resource.d.ts.map +1 -0
  34. package/dist/generators/generators/resource.js +124 -0
  35. package/dist/generators/generators/resource.js.map +1 -0
  36. package/dist/generators/generators/schema.d.ts +28 -0
  37. package/dist/generators/generators/schema.d.ts.map +1 -0
  38. package/dist/generators/generators/schema.js +83 -0
  39. package/dist/generators/generators/schema.js.map +1 -0
  40. package/dist/generators/generators/test.d.ts +28 -0
  41. package/dist/generators/generators/test.d.ts.map +1 -0
  42. package/dist/generators/generators/test.js +96 -0
  43. package/dist/generators/generators/test.js.map +1 -0
  44. package/dist/generators/index.d.ts +16 -0
  45. package/dist/generators/index.d.ts.map +1 -0
  46. package/dist/generators/index.js +16 -0
  47. package/dist/generators/index.js.map +1 -0
  48. package/dist/generators/registry.d.ts +97 -0
  49. package/dist/generators/registry.d.ts.map +1 -0
  50. package/dist/generators/registry.js +253 -0
  51. package/dist/generators/registry.js.map +1 -0
  52. package/dist/generators/templates/migration.d.ts +23 -0
  53. package/dist/generators/templates/migration.d.ts.map +1 -0
  54. package/dist/generators/templates/migration.js +389 -0
  55. package/dist/generators/templates/migration.js.map +1 -0
  56. package/dist/generators/templates/model.d.ts +37 -0
  57. package/dist/generators/templates/model.d.ts.map +1 -0
  58. package/dist/generators/templates/model.js +374 -0
  59. package/dist/generators/templates/model.js.map +1 -0
  60. package/dist/generators/templates/procedure.d.ts +25 -0
  61. package/dist/generators/templates/procedure.d.ts.map +1 -0
  62. package/dist/generators/templates/procedure.js +274 -0
  63. package/dist/generators/templates/procedure.js.map +1 -0
  64. package/dist/generators/templates/resource.d.ts +34 -0
  65. package/dist/generators/templates/resource.d.ts.map +1 -0
  66. package/dist/generators/templates/resource.js +550 -0
  67. package/dist/generators/templates/resource.js.map +1 -0
  68. package/dist/generators/templates/schema.d.ts +33 -0
  69. package/dist/generators/templates/schema.d.ts.map +1 -0
  70. package/dist/generators/templates/schema.js +248 -0
  71. package/dist/generators/templates/schema.js.map +1 -0
  72. package/dist/generators/templates/test.d.ts +31 -0
  73. package/dist/generators/templates/test.d.ts.map +1 -0
  74. package/dist/generators/templates/test.js +882 -0
  75. package/dist/generators/templates/test.js.map +1 -0
  76. package/dist/generators/types.d.ts +211 -0
  77. package/dist/generators/types.d.ts.map +1 -0
  78. package/dist/generators/types.js +54 -0
  79. package/dist/generators/types.js.map +1 -0
  80. package/dist/generators/utils/filesystem.d.ts +68 -0
  81. package/dist/generators/utils/filesystem.d.ts.map +1 -0
  82. package/dist/generators/utils/filesystem.js +217 -0
  83. package/dist/generators/utils/filesystem.js.map +1 -0
  84. package/dist/generators/utils/naming.d.ts +122 -0
  85. package/dist/generators/utils/naming.d.ts.map +1 -0
  86. package/dist/generators/utils/naming.js +198 -0
  87. package/dist/generators/utils/naming.js.map +1 -0
  88. package/dist/index.d.ts +4 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +4 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/migrations/commands/fresh.d.ts +11 -0
  93. package/dist/migrations/commands/fresh.d.ts.map +1 -0
  94. package/dist/migrations/commands/fresh.js +164 -0
  95. package/dist/migrations/commands/fresh.js.map +1 -0
  96. package/dist/migrations/commands/index.d.ts +11 -0
  97. package/dist/migrations/commands/index.d.ts.map +1 -0
  98. package/dist/migrations/commands/index.js +11 -0
  99. package/dist/migrations/commands/index.js.map +1 -0
  100. package/dist/migrations/commands/reset.d.ts +11 -0
  101. package/dist/migrations/commands/reset.d.ts.map +1 -0
  102. package/dist/migrations/commands/reset.js +258 -0
  103. package/dist/migrations/commands/reset.js.map +1 -0
  104. package/dist/migrations/commands/rollback.d.ts +11 -0
  105. package/dist/migrations/commands/rollback.d.ts.map +1 -0
  106. package/dist/migrations/commands/rollback.js +241 -0
  107. package/dist/migrations/commands/rollback.js.map +1 -0
  108. package/dist/migrations/commands/run.d.ts +11 -0
  109. package/dist/migrations/commands/run.d.ts.map +1 -0
  110. package/dist/migrations/commands/run.js +183 -0
  111. package/dist/migrations/commands/run.js.map +1 -0
  112. package/dist/migrations/commands/status.d.ts +11 -0
  113. package/dist/migrations/commands/status.d.ts.map +1 -0
  114. package/dist/migrations/commands/status.js +154 -0
  115. package/dist/migrations/commands/status.js.map +1 -0
  116. package/dist/migrations/errors.d.ts +74 -0
  117. package/dist/migrations/errors.d.ts.map +1 -0
  118. package/dist/migrations/errors.js +155 -0
  119. package/dist/migrations/errors.js.map +1 -0
  120. package/dist/migrations/index.d.ts +13 -0
  121. package/dist/migrations/index.d.ts.map +1 -0
  122. package/dist/migrations/index.js +17 -0
  123. package/dist/migrations/index.js.map +1 -0
  124. package/dist/migrations/loader.d.ts +44 -0
  125. package/dist/migrations/loader.d.ts.map +1 -0
  126. package/dist/migrations/loader.js +181 -0
  127. package/dist/migrations/loader.js.map +1 -0
  128. package/dist/migrations/prisma-wrapper.d.ts +60 -0
  129. package/dist/migrations/prisma-wrapper.d.ts.map +1 -0
  130. package/dist/migrations/prisma-wrapper.js +184 -0
  131. package/dist/migrations/prisma-wrapper.js.map +1 -0
  132. package/dist/migrations/rollback-runner.d.ts +40 -0
  133. package/dist/migrations/rollback-runner.d.ts.map +1 -0
  134. package/dist/migrations/rollback-runner.js +203 -0
  135. package/dist/migrations/rollback-runner.js.map +1 -0
  136. package/dist/migrations/types.d.ts +214 -0
  137. package/dist/migrations/types.d.ts.map +1 -0
  138. package/dist/migrations/types.js +19 -0
  139. package/dist/migrations/types.js.map +1 -0
  140. package/package.json +29 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/generators/generators/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAA4C,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AAMrB;;GAEG;AACH,qBAAa,cAAe,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAiBlC;IAEF,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CA6B9C;IAEF;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;IAS3D;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;CAchF;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Model Generator
3
+ *
4
+ * Generates Prisma model, Zod schema, and optionally procedures.
5
+ *
6
+ * Usage:
7
+ * velox generate model <name> [options]
8
+ * velox g m <name> [options]
9
+ *
10
+ * Examples:
11
+ * velox generate model Post # Model + schema only
12
+ * velox generate model Comment --crud # Model + schema + procedures
13
+ * velox g m Order --crud --paginated # With pagination
14
+ * velox g m Article --soft-delete # With soft delete support
15
+ */
16
+ import { BaseGenerator } from '../base.js';
17
+ import { generateModelFiles, getModelInstructions } from '../templates/model.js';
18
+ // ============================================================================
19
+ // Generator Implementation
20
+ // ============================================================================
21
+ /**
22
+ * Model generator - creates Prisma model, Zod schema, and procedures
23
+ */
24
+ export class ModelGenerator extends BaseGenerator {
25
+ metadata = {
26
+ name: 'model',
27
+ description: 'Generate a Prisma model with Zod schema and optional procedures',
28
+ longDescription: `
29
+ Generate a complete model including:
30
+ - Prisma model definition (saved to prisma/models/ for easy copying)
31
+ - Zod validation schemas (input/output)
32
+ - CRUD procedures (with --crud flag)
33
+
34
+ Examples:
35
+ velox generate model Post # Model + schema only
36
+ velox generate model Comment --crud # With CRUD procedures
37
+ velox g m Order --crud --paginated # With pagination
38
+ velox g m Article --soft-delete # With soft delete
39
+ `,
40
+ aliases: ['m'],
41
+ category: 'resource',
42
+ };
43
+ options = [
44
+ {
45
+ name: 'crud',
46
+ short: 'c',
47
+ description: 'Generate CRUD procedures alongside the model',
48
+ type: 'boolean',
49
+ default: false,
50
+ },
51
+ {
52
+ name: 'paginated',
53
+ short: 'P',
54
+ description: 'Include pagination for list operation (with --crud)',
55
+ type: 'boolean',
56
+ default: false,
57
+ },
58
+ {
59
+ name: 'soft-delete',
60
+ short: 's',
61
+ description: 'Add soft delete support (deletedAt field)',
62
+ type: 'boolean',
63
+ default: false,
64
+ },
65
+ {
66
+ name: 'timestamps',
67
+ short: 't',
68
+ description: 'Include timestamps (createdAt, updatedAt)',
69
+ type: 'boolean',
70
+ default: true,
71
+ },
72
+ ];
73
+ /**
74
+ * Validate and transform raw options
75
+ */
76
+ validateOptions(raw) {
77
+ return {
78
+ crud: Boolean(raw.crud ?? false),
79
+ paginated: Boolean(raw.paginated ?? false),
80
+ softDelete: Boolean(raw['soft-delete'] ?? raw.softDelete ?? false),
81
+ timestamps: Boolean(raw.timestamps ?? true),
82
+ };
83
+ }
84
+ /**
85
+ * Generate model files
86
+ */
87
+ async generate(config) {
88
+ const context = this.createContext(config);
89
+ // Generate all model files
90
+ const files = generateModelFiles(context);
91
+ // Generate post-creation instructions
92
+ const postInstructions = getModelInstructions(context);
93
+ return {
94
+ files,
95
+ postInstructions,
96
+ };
97
+ }
98
+ }
99
+ // ============================================================================
100
+ // Export
101
+ // ============================================================================
102
+ /**
103
+ * Create a new model generator instance
104
+ */
105
+ export function createModelGenerator() {
106
+ return new ModelGenerator();
107
+ }
108
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/generators/generators/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAqB,MAAM,uBAAuB,CAAC;AAQpG,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,aAA2B;IACpD,QAAQ,GAAsB;QACrC,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,iEAAiE;QAC9E,eAAe,EAAE;;;;;;;;;;;CAWpB;QACG,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,QAAQ,EAAE,UAAU;KACrB,CAAC;IAEO,OAAO,GAAmC;QACjD;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,qDAAqD;YAClE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD;YACE,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,2CAA2C;YACxD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,2CAA2C;YACxD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;KACF,CAAC;IAEF;;OAEG;IACH,eAAe,CAAC,GAA4B;QAC1C,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC;YAChC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC;YAC1C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC;YAClE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAqC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3C,2BAA2B;QAC3B,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE1C,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEvD,OAAO;YACL,KAAK;YACL,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,cAAc,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Procedure Generator
3
+ *
4
+ * Generates procedure files for VeloxTS applications.
5
+ *
6
+ * Usage:
7
+ * velox generate procedure <name> [options]
8
+ * velox g p <name> [options]
9
+ *
10
+ * Examples:
11
+ * velox generate procedure users # Simple get procedure
12
+ * velox generate procedure posts --crud # Full CRUD procedures
13
+ * velox g p comments --crud --paginated # CRUD with pagination
14
+ */
15
+ import { BaseGenerator } from '../base.js';
16
+ import { type ProcedureOptions } from '../templates/procedure.js';
17
+ import type { GeneratorConfig, GeneratorMetadata, GeneratorOption, GeneratorOutput } from '../types.js';
18
+ /**
19
+ * Procedure generator - creates procedure files
20
+ */
21
+ export declare class ProcedureGenerator extends BaseGenerator<ProcedureOptions> {
22
+ readonly metadata: GeneratorMetadata;
23
+ readonly options: ReadonlyArray<GeneratorOption>;
24
+ /**
25
+ * Validate and transform raw options
26
+ */
27
+ validateOptions(raw: Record<string, unknown>): ProcedureOptions;
28
+ /**
29
+ * Generate procedure files
30
+ */
31
+ generate(config: GeneratorConfig<ProcedureOptions>): Promise<GeneratorOutput>;
32
+ }
33
+ /**
34
+ * Create a new procedure generator instance
35
+ */
36
+ export declare function createProcedureGenerator(): ProcedureGenerator;
37
+ //# sourceMappingURL=procedure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../../src/generators/generators/procedure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAEV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AAMrB;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,gBAAgB,CAAC;IACrE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAgBlC;IAEF,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAe9C;IAEF;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB;IAY/D;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;CAqBpF;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Procedure Generator
3
+ *
4
+ * Generates procedure files for VeloxTS applications.
5
+ *
6
+ * Usage:
7
+ * velox generate procedure <name> [options]
8
+ * velox g p <name> [options]
9
+ *
10
+ * Examples:
11
+ * velox generate procedure users # Simple get procedure
12
+ * velox generate procedure posts --crud # Full CRUD procedures
13
+ * velox g p comments --crud --paginated # CRUD with pagination
14
+ */
15
+ import { BaseGenerator } from '../base.js';
16
+ import { getProcedureInstructions, getProcedurePath, procedureTemplate, } from '../templates/procedure.js';
17
+ // ============================================================================
18
+ // Generator Implementation
19
+ // ============================================================================
20
+ /**
21
+ * Procedure generator - creates procedure files
22
+ */
23
+ export class ProcedureGenerator extends BaseGenerator {
24
+ metadata = {
25
+ name: 'procedure',
26
+ description: 'Generate a procedure file for API endpoints',
27
+ longDescription: `
28
+ Generate a VeloxTS procedure file that defines API endpoints.
29
+
30
+ By default, generates a simple procedure with just a get operation.
31
+ Use --crud to generate full CRUD operations (get, list, create, update, patch, delete).
32
+
33
+ Examples:
34
+ velox generate procedure users # Simple get procedure
35
+ velox generate procedure posts --crud # Full CRUD procedures
36
+ velox g p comments --crud --paginated # CRUD with pagination
37
+ `,
38
+ aliases: ['p', 'proc'],
39
+ category: 'resource',
40
+ };
41
+ options = [
42
+ {
43
+ name: 'crud',
44
+ short: 'c',
45
+ description: 'Generate full CRUD operations (get, list, create, update, patch, delete)',
46
+ type: 'boolean',
47
+ default: false,
48
+ },
49
+ {
50
+ name: 'paginated',
51
+ short: 'P',
52
+ description: 'Include pagination for list operation (requires --crud)',
53
+ type: 'boolean',
54
+ default: false,
55
+ },
56
+ ];
57
+ /**
58
+ * Validate and transform raw options
59
+ */
60
+ validateOptions(raw) {
61
+ const crud = Boolean(raw.crud ?? false);
62
+ const paginated = Boolean(raw.paginated ?? false);
63
+ // Warn if --paginated without --crud (paginated only applies to list)
64
+ if (paginated && !crud) {
65
+ // Silently enable pagination anyway - it will work when user adds list manually
66
+ }
67
+ return { crud, paginated };
68
+ }
69
+ /**
70
+ * Generate procedure files
71
+ */
72
+ async generate(config) {
73
+ const context = this.createContext(config);
74
+ const { entity } = context;
75
+ // Generate procedure content using template
76
+ const content = procedureTemplate(context);
77
+ // Create the generated file
78
+ const file = {
79
+ path: getProcedurePath(entity.plural),
80
+ content,
81
+ };
82
+ // Generate post-creation instructions
83
+ const postInstructions = getProcedureInstructions(entity.plural, entity.pascal);
84
+ return {
85
+ files: [file],
86
+ postInstructions,
87
+ };
88
+ }
89
+ }
90
+ // ============================================================================
91
+ // Export
92
+ // ============================================================================
93
+ /**
94
+ * Create a new procedure generator instance
95
+ */
96
+ export function createProcedureGenerator() {
97
+ return new ProcedureGenerator();
98
+ }
99
+ //# sourceMappingURL=procedure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../../src/generators/generators/procedure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAEhB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AASnC,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAA+B;IAC5D,QAAQ,GAAsB;QACrC,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,6CAA6C;QAC1D,eAAe,EAAE;;;;;;;;;;CAUpB;QACG,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,UAAU;KACrB,CAAC;IAEO,OAAO,GAAmC;QACjD;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,0EAA0E;YACvF,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,yDAAyD;YACtE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;KACF,CAAC;IAEF;;OAEG;IACH,eAAe,CAAC,GAA4B;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QAElD,sEAAsE;QACtE,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,gFAAgF;QAClF,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAyC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,4CAA4C;QAC5C,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE3C,4BAA4B;QAC5B,MAAM,IAAI,GAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,OAAO;SACR,CAAC;QAEF,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhF,OAAO;YACL,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,kBAAkB,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Resource Generator
3
+ *
4
+ * Generates a complete resource with model, schema, procedures, and tests.
5
+ * This is the "full stack" generator for quickly scaffolding new entities.
6
+ */
7
+ import { BaseGenerator } from '../base.js';
8
+ import { type ResourceOptions } from '../templates/resource.js';
9
+ import type { GeneratorConfig, GeneratorMetadata, GeneratorOption, GeneratorOutput } from '../types.js';
10
+ /**
11
+ * Resource generator implementation
12
+ */
13
+ export declare class ResourceGenerator extends BaseGenerator<ResourceOptions> {
14
+ readonly metadata: GeneratorMetadata;
15
+ readonly options: ReadonlyArray<GeneratorOption>;
16
+ /**
17
+ * Validate resource-specific options
18
+ */
19
+ validateOptions(rawOptions: Record<string, unknown>): ResourceOptions;
20
+ /**
21
+ * Generate resource files
22
+ */
23
+ generate(config: GeneratorConfig<ResourceOptions>): Promise<GeneratorOutput>;
24
+ }
25
+ /**
26
+ * Create a new resource generator instance
27
+ */
28
+ export declare function createResourceGenerator(): ResourceGenerator;
29
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/generators/generators/resource.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AAgFrB;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,eAAe,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAY;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAW;IAE3D;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe;IAarE;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;CASnF;AAMD;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Resource Generator
3
+ *
4
+ * Generates a complete resource with model, schema, procedures, and tests.
5
+ * This is the "full stack" generator for quickly scaffolding new entities.
6
+ */
7
+ import { BaseGenerator } from '../base.js';
8
+ import { generateResourceFiles, getResourceInstructions, } from '../templates/resource.js';
9
+ // ============================================================================
10
+ // Generator Metadata
11
+ // ============================================================================
12
+ const metadata = {
13
+ name: 'resource',
14
+ description: 'Generate complete resource (model, schema, procedures, tests)',
15
+ category: 'resource',
16
+ aliases: ['r', 'res'],
17
+ };
18
+ // ============================================================================
19
+ // Generator Options
20
+ // ============================================================================
21
+ const options = [
22
+ {
23
+ name: 'crud',
24
+ type: 'boolean',
25
+ description: 'Generate full CRUD operations',
26
+ default: true,
27
+ flag: '-c, --crud',
28
+ },
29
+ {
30
+ name: 'paginated',
31
+ type: 'boolean',
32
+ description: 'Include pagination for list operations',
33
+ default: true,
34
+ flag: '-P, --paginated',
35
+ },
36
+ {
37
+ name: 'softDelete',
38
+ type: 'boolean',
39
+ description: 'Include soft delete support',
40
+ default: false,
41
+ flag: '-s, --soft-delete',
42
+ },
43
+ {
44
+ name: 'timestamps',
45
+ type: 'boolean',
46
+ description: 'Include timestamp fields (createdAt, updatedAt)',
47
+ default: true,
48
+ flag: '-t, --timestamps',
49
+ },
50
+ {
51
+ name: 'withTests',
52
+ type: 'boolean',
53
+ description: 'Generate test files',
54
+ default: true,
55
+ flag: '-W, --with-tests',
56
+ },
57
+ {
58
+ name: 'skipModel',
59
+ type: 'boolean',
60
+ description: 'Skip Prisma model generation',
61
+ default: false,
62
+ flag: '--skip-model',
63
+ },
64
+ {
65
+ name: 'skipSchema',
66
+ type: 'boolean',
67
+ description: 'Skip Zod schema generation',
68
+ default: false,
69
+ flag: '--skip-schema',
70
+ },
71
+ {
72
+ name: 'skipProcedure',
73
+ type: 'boolean',
74
+ description: 'Skip procedure generation',
75
+ default: false,
76
+ flag: '--skip-procedure',
77
+ },
78
+ ];
79
+ // ============================================================================
80
+ // Generator Class
81
+ // ============================================================================
82
+ /**
83
+ * Resource generator implementation
84
+ */
85
+ export class ResourceGenerator extends BaseGenerator {
86
+ metadata = metadata;
87
+ options = options;
88
+ /**
89
+ * Validate resource-specific options
90
+ */
91
+ validateOptions(rawOptions) {
92
+ return {
93
+ crud: Boolean(rawOptions.crud ?? true),
94
+ paginated: Boolean(rawOptions.paginated ?? true),
95
+ softDelete: Boolean(rawOptions.softDelete ?? false),
96
+ timestamps: Boolean(rawOptions.timestamps ?? true),
97
+ withTests: Boolean(rawOptions.withTests ?? true),
98
+ skipModel: Boolean(rawOptions.skipModel ?? false),
99
+ skipSchema: Boolean(rawOptions.skipSchema ?? false),
100
+ skipProcedure: Boolean(rawOptions.skipProcedure ?? false),
101
+ };
102
+ }
103
+ /**
104
+ * Generate resource files
105
+ */
106
+ async generate(config) {
107
+ const ctx = this.createContext(config);
108
+ const files = generateResourceFiles(ctx);
109
+ return {
110
+ files,
111
+ postInstructions: getResourceInstructions(ctx.entity.pascal, config.options),
112
+ };
113
+ }
114
+ }
115
+ // ============================================================================
116
+ // Factory Function
117
+ // ============================================================================
118
+ /**
119
+ * Create a new resource generator instance
120
+ */
121
+ export function createResourceGenerator() {
122
+ return new ResourceGenerator();
123
+ }
124
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/generators/generators/resource.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,0BAA0B,CAAC;AAQlC,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,QAAQ,GAAsB;IAClC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,+DAA+D;IAC5E,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,OAAO,GAAsB;IACjC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,YAAY;KACnB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,iBAAiB;KACxB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,mBAAmB;KAC1B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,kBAAkB;KACzB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,kBAAkB;KACzB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,cAAc;KACrB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,eAAe;KACtB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,kBAAkB;KACzB;CACF,CAAC;AAEF,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAA8B;IAC1D,QAAQ,GAAsB,QAAQ,CAAC;IACvC,OAAO,GAAmC,OAAO,CAAC;IAE3D;;OAEG;IACH,eAAe,CAAC,UAAmC;QACjD,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC;YACtC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC;YAChD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;YACnD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC;YAClD,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC;YAChD,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC;YACjD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;YACnD,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,IAAI,KAAK,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAwC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEzC,OAAO;YACL,KAAK;YACL,gBAAgB,EAAE,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;SAC7E,CAAC;IACJ,CAAC;CACF;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Schema Generator
3
+ *
4
+ * Generates Zod validation schemas for VeloxTS applications.
5
+ */
6
+ import { BaseGenerator } from '../base.js';
7
+ import { type SchemaOptions } from '../templates/schema.js';
8
+ import type { GeneratorConfig, GeneratorMetadata, GeneratorOption, GeneratorOutput } from '../types.js';
9
+ /**
10
+ * Schema generator implementation
11
+ */
12
+ export declare class SchemaGenerator extends BaseGenerator<SchemaOptions> {
13
+ readonly metadata: GeneratorMetadata;
14
+ readonly options: ReadonlyArray<GeneratorOption>;
15
+ /**
16
+ * Validate schema-specific options
17
+ */
18
+ validateOptions(rawOptions: Record<string, unknown>): SchemaOptions;
19
+ /**
20
+ * Generate schema files
21
+ */
22
+ generate(config: GeneratorConfig<SchemaOptions>): Promise<GeneratorOutput>;
23
+ }
24
+ /**
25
+ * Create a new schema generator instance
26
+ */
27
+ export declare function createSchemaGenerator(): SchemaGenerator;
28
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/generators/generators/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AA6CrB;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa,CAAC,aAAa,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAY;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAW;IAE3D;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa;IAQnE;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;CASjF;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Schema Generator
3
+ *
4
+ * Generates Zod validation schemas for VeloxTS applications.
5
+ */
6
+ import { BaseGenerator } from '../base.js';
7
+ import { generateSchemaFiles, getSchemaInstructions, } from '../templates/schema.js';
8
+ // ============================================================================
9
+ // Generator Metadata
10
+ // ============================================================================
11
+ const metadata = {
12
+ name: 'schema',
13
+ description: 'Generate Zod validation schemas',
14
+ category: 'resource',
15
+ aliases: ['s', 'zod'],
16
+ };
17
+ // ============================================================================
18
+ // Generator Options
19
+ // ============================================================================
20
+ const options = [
21
+ {
22
+ name: 'crud',
23
+ type: 'boolean',
24
+ description: 'Generate CRUD-related schemas (create, update, patch, list)',
25
+ default: false,
26
+ flag: '-c, --crud',
27
+ },
28
+ {
29
+ name: 'timestamps',
30
+ type: 'boolean',
31
+ description: 'Include timestamp fields (createdAt, updatedAt)',
32
+ default: true,
33
+ flag: '-t, --timestamps',
34
+ },
35
+ {
36
+ name: 'softDelete',
37
+ type: 'boolean',
38
+ description: 'Include soft delete field (deletedAt)',
39
+ default: false,
40
+ flag: '-s, --soft-delete',
41
+ },
42
+ ];
43
+ // ============================================================================
44
+ // Generator Class
45
+ // ============================================================================
46
+ /**
47
+ * Schema generator implementation
48
+ */
49
+ export class SchemaGenerator extends BaseGenerator {
50
+ metadata = metadata;
51
+ options = options;
52
+ /**
53
+ * Validate schema-specific options
54
+ */
55
+ validateOptions(rawOptions) {
56
+ return {
57
+ crud: Boolean(rawOptions.crud ?? false),
58
+ timestamps: Boolean(rawOptions.timestamps ?? true),
59
+ softDelete: Boolean(rawOptions.softDelete ?? false),
60
+ };
61
+ }
62
+ /**
63
+ * Generate schema files
64
+ */
65
+ async generate(config) {
66
+ const ctx = this.createContext(config);
67
+ const files = generateSchemaFiles(ctx);
68
+ return {
69
+ files,
70
+ postInstructions: getSchemaInstructions(ctx.entity.pascal, config.options),
71
+ };
72
+ }
73
+ }
74
+ // ============================================================================
75
+ // Factory Function
76
+ // ============================================================================
77
+ /**
78
+ * Create a new schema generator instance
79
+ */
80
+ export function createSchemaGenerator() {
81
+ return new SchemaGenerator();
82
+ }
83
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/generators/generators/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAQhC,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,QAAQ,GAAsB;IAClC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iCAAiC;IAC9C,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,OAAO,GAAsB;IACjC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,YAAY;KACnB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,kBAAkB;KACzB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,mBAAmB;KAC1B;CACF,CAAC;AAEF,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAA4B;IACtD,QAAQ,GAAsB,QAAQ,CAAC;IACvC,OAAO,GAAmC,OAAO,CAAC;IAE3D;;OAEG;IACH,eAAe,CAAC,UAAmC;QACjD,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC;YACvC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC;YAClD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;SACpD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAsC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAEvC,OAAO;YACL,KAAK;YACL,gBAAgB,EAAE,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;SAC3E,CAAC;IACJ,CAAC;CACF;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,eAAe,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Test Generator
3
+ *
4
+ * Generates Vitest test files for VeloxTS applications.
5
+ */
6
+ import { BaseGenerator } from '../base.js';
7
+ import { type TestOptions } from '../templates/test.js';
8
+ import type { GeneratorConfig, GeneratorMetadata, GeneratorOption, GeneratorOutput } from '../types.js';
9
+ /**
10
+ * Test generator implementation
11
+ */
12
+ export declare class TestGenerator extends BaseGenerator<TestOptions> {
13
+ readonly metadata: GeneratorMetadata;
14
+ readonly options: ReadonlyArray<GeneratorOption>;
15
+ /**
16
+ * Validate test-specific options
17
+ */
18
+ validateOptions(rawOptions: Record<string, unknown>): TestOptions;
19
+ /**
20
+ * Generate test files
21
+ */
22
+ generate(config: GeneratorConfig<TestOptions>): Promise<GeneratorOutput>;
23
+ }
24
+ /**
25
+ * Create a new test generator instance
26
+ */
27
+ export declare function createTestGenerator(): TestGenerator;
28
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/generators/generators/test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AAwDrB;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa,CAAC,WAAW,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAY;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAW;IAE3D;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAwBjE;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;CAS/E;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD"}