@azure-net/cli 2.3.62 → 4.0.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/.prettierrc +7 -0
  2. package/bin/azure-net.js +247 -157
  3. package/bin/azure-net.ts +253 -0
  4. package/eslint.config.js +19 -0
  5. package/package.json +12 -5
  6. package/src/commands/generate/generateCrudBase.js +95 -114
  7. package/src/commands/generate/generateCrudPresenter.js +135 -142
  8. package/src/commands/generate/generateModule.js +21 -21
  9. package/src/commands/generate/generateModuleBase.js +92 -114
  10. package/src/commands/generate/generateModulePresenter.js +73 -80
  11. package/src/commands/generate/generatePresenter.js +38 -44
  12. package/src/commands/generate/generateRepository.js +41 -47
  13. package/src/commands/generate/generateSchema.js +74 -70
  14. package/src/commands/generate/generateService.js +32 -37
  15. package/src/commands/generate/index.js +0 -5
  16. package/src/generate/layers/generateRepository.js +124 -0
  17. package/src/generate/layers/generateRepositoryMethod.js +102 -0
  18. package/src/generate/layers/generateUseCases.js +50 -0
  19. package/src/generate/layers/repositoryShared.js +569 -0
  20. package/src/generate/module/generateDomain.js +146 -0
  21. package/src/generate/module/generateDomain.ts +147 -0
  22. package/src/generate/module/generateModule.js +84 -0
  23. package/src/generate/module/generateModule.ts +84 -0
  24. package/src/generate/module/generatePresenter.js +419 -0
  25. package/src/generate/module/generatePresenter.ts +442 -0
  26. package/src/generate/module/generateRepository.js +144 -0
  27. package/src/generate/module/generateRepository.ts +158 -0
  28. package/src/generate/module/generateSchemaFromType.js +320 -0
  29. package/src/generate/module/generateSchemaFromType.ts +325 -0
  30. package/src/generate/module/generateTypesJson.js +252 -0
  31. package/src/generate/module/generateTypesJson.ts +259 -0
  32. package/src/generate/module/generateUseCases.js +67 -0
  33. package/src/generate/module/generateUseCases.ts +67 -0
  34. package/src/generate/module/repositoryModuleShared.js +598 -0
  35. package/src/generate/ui/generateComponent.js +98 -0
  36. package/src/generate/ui/generateComponent.ts +100 -0
  37. package/src/generate/ui/generateDesignComponent.js +71 -0
  38. package/src/generate/ui/generateDesignComponent.ts +71 -0
  39. package/src/generate/ui/generateWidget.js +71 -0
  40. package/src/generate/ui/generateWidget.ts +71 -0
  41. package/src/init/initAliases.js +159 -0
  42. package/src/init/initAliases.ts +167 -0
  43. package/src/init/initEdges.js +74 -0
  44. package/src/init/initEdges.ts +74 -0
  45. package/src/init/initStructure.js +122 -0
  46. package/src/init/initStructure.ts +124 -0
  47. package/src/install/installFresh.js +101 -0
  48. package/src/install/installFresh.ts +101 -0
  49. package/src/plugins/addLint.js +257 -0
  50. package/src/plugins/addLint.ts +274 -0
  51. package/src/plugins/index.js +1 -0
  52. package/src/plugins/index.ts +1 -0
  53. package/src/scaffolds/createCoreMiddleware.js +27 -0
  54. package/src/scaffolds/createCoreMiddleware.ts +27 -0
  55. package/src/scaffolds/createCoreSchema.js +141 -0
  56. package/src/scaffolds/createCoreSchema.ts +142 -0
  57. package/src/scaffolds/createDatasource.js +173 -0
  58. package/src/scaffolds/createDatasource.ts +175 -0
  59. package/src/scaffolds/createDatasourceProvider.js +164 -0
  60. package/src/scaffolds/createDatasourceProvider.ts +175 -0
  61. package/src/scaffolds/createMiddleware.js +105 -0
  62. package/src/scaffolds/createMiddleware.ts +105 -0
  63. package/src/scaffolds/createPresenterFactory.js +112 -0
  64. package/src/scaffolds/createPresenterFactory.ts +114 -0
  65. package/src/scaffolds/createResponse.js +64 -0
  66. package/src/scaffolds/createResponse.ts +64 -0
  67. package/src/scaffolds/createSchemaRule.js +40 -0
  68. package/src/scaffolds/createSchemaRule.ts +42 -0
  69. package/src/scaffolds/createTranslationManager.js +78 -0
  70. package/src/scaffolds/createTranslationManager.ts +78 -0
  71. package/src/scaffolds/index.js +9 -0
  72. package/src/scaffolds/index.ts +9 -0
  73. package/src/utils/contextUtils.js +56 -49
  74. package/src/utils/fileUtils.js +72 -84
  75. package/src/utils/loadConfig.js +57 -13
  76. package/tsconfig.json +19 -0
  77. package/src/commands/generate/generateComponent.js +0 -53
  78. package/src/commands/generate/generateDatasource.js +0 -84
  79. package/src/commands/generate/generateDesignComponent.js +0 -53
  80. package/src/commands/generate/generateResponse.js +0 -41
  81. package/src/commands/generate/generateWidget.js +0 -53
  82. package/src/commands/init/index.js +0 -9
  83. package/src/commands/init/initAliases.js +0 -52
  84. package/src/commands/init/initEdges.js +0 -42
  85. package/src/commands/init/initLint.js +0 -138
  86. package/src/commands/init/initMiddleware.js +0 -21
  87. package/src/commands/init/initPresenter.js +0 -25
  88. package/src/commands/init/initSchema.js +0 -22
  89. package/src/commands/init/initStructure.js +0 -140
  90. package/src/commands/init/initTranslations.js +0 -59
  91. package/src/commands/init/migrateStructure.js +0 -144
package/.prettierrc ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "useTabs": true,
3
+ "singleQuote": true,
4
+ "trailingComma": "none",
5
+ "printWidth": 140,
6
+ "semi": true
7
+ }
package/bin/azure-net.js CHANGED
@@ -1,163 +1,253 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { Command } from 'commander';
4
- import {
5
- initStructure,
6
- initAliases,
7
- initMiddleware,
8
- initEdges,
9
- initTranslations,
10
- initSchema,
11
- initLint,
12
- initPresenter,
13
- migrateStructure
14
- } from '../src/commands/init/index.js';
15
- import {
16
- generateDatasource,
17
- generateResponse,
18
- generateRepository,
19
- generateService,
20
- generateSchema,
21
- generatePresenter,
22
- generateModule,
23
- generateCrudBase,
24
- generateCrudPresenter,
25
- generateModuleBase,
26
- generateModulePresenter,
27
- generateComponent,
28
- generateWidget,
29
- generateDesignComponent
30
- } from '../src/commands/generate/index.js';
4
+ import { addLint } from '../src/plugins/index.js';
31
5
 
32
6
  const program = new Command();
33
7
 
34
- program
35
- .name('azure-net')
36
- .description('Azure-Net CLI generator')
37
- .version('2.0.0');
38
-
39
- // Init commands
40
- program
41
- .command('init:lint')
42
- .description('Setup linting and commit tools')
43
- .action(initLint);
44
-
45
- program
46
- .command('init:structure')
47
- .description('Generate base folder structure')
48
- .action(initStructure);
49
-
50
- program
51
- .command('init:aliases')
52
- .description('Generate alias mappings')
53
- .action(initAliases);
54
-
55
- program
56
- .command('init:middleware')
57
- .description('Initialize middleware')
58
- .action(initMiddleware);
59
-
60
- program
61
- .command('init:edges')
62
- .description('Initialize edges-svelte')
63
- .action(initEdges);
64
-
65
- program
66
- .command('init:translations')
67
- .description('Initialize translations')
68
- .action(initTranslations);
69
-
70
- program
71
- .command('init:schema')
72
- .description('Initialize schema factory')
73
- .action(initSchema);
74
-
75
- program
76
- .command('init:presenter')
77
- .description('Initialize presenter factory')
78
- .action(initPresenter);
79
-
80
- program
81
- .command('migrate:structure')
82
- .description('Migrate existing contexts to new structure with layers and ui folders')
83
- .action(migrateStructure);
84
-
85
- program
86
- .command('init')
87
- .description('Run all initialization steps')
88
- .action(async () => {
89
- await initStructure();
90
- await initAliases();
91
- // await initEdges();
92
- // await initMiddleware();
93
- // await initTranslations();
94
- // await initSchema();
95
- });
96
-
97
- // Generate commands
98
- program
99
- .command('make:datasource')
100
- .description('Generate datasource')
101
- .action(generateDatasource);
102
-
103
- program
104
- .command('make:response')
105
- .description('Generate response builder')
106
- .action(generateResponse);
107
-
108
- program
109
- .command('make:repo')
110
- .description('Generate repository')
111
- .action(generateRepository);
112
-
113
- program
114
- .command('make:service')
115
- .description('Generate service')
116
- .action(generateService);
117
-
118
- program
119
- .command('make:schema')
120
- .description('Generate schema')
121
- .action(generateSchema);
122
-
123
- program
124
- .command('make:presenter')
125
- .description('Generate presenter')
126
- .action(generatePresenter);
127
-
128
- program
129
- .command('make:crud-base')
130
- .description('Generate CRUD repository and service')
131
- .action(generateCrudBase);
132
-
133
- program
134
- .command('make:crud-presenter')
135
- .description('Generate CRUD presenter for existing service')
136
- .action(generateCrudPresenter);
137
-
138
- program
139
- .command('make:module-base')
140
- .description('Generate repository and service for a module')
141
- .action(generateModuleBase);
142
-
143
- program
144
- .command('make:module-presenter')
145
- .description('Generate presenter for existing service')
146
- .action(generateModulePresenter);
147
-
148
- program
149
- .command('make:component')
150
- .description('Generate UI component')
151
- .action(generateComponent);
152
-
153
- program
154
- .command('make:widget')
155
- .description('Generate UI widget')
156
- .action(generateWidget);
157
-
158
- program
159
- .command('make:design-component')
160
- .description('Generate design system component')
161
- .action(generateDesignComponent);
162
-
163
- program.parse();
8
+ program.name('azure-net').description('Azure-Net CLI generator').version('2.1.0');
9
+
10
+ const addCommand = program.command('add').description('Add project integrations and plugins');
11
+ const createCommand = program.command('create').description('Create project boilerplate artifacts');
12
+ const initCommand = program.command('init').description('Initialize project scaffolding');
13
+ const installCommand = program.command('install').description('Install project presets and flows');
14
+ const generateCommand = program.command('generate').description('Generate UI artifacts');
15
+
16
+ addCommand
17
+ .command('commit-tools')
18
+ .description('Setup linting and commit tools')
19
+ .option('-m, --manager <manager>', 'Package manager: bun | pnpm | npm | yarn')
20
+ .action(addLint);
21
+
22
+ createCommand
23
+ .command('schema-factory')
24
+ .description('Create base schema in src/core/schema')
25
+ .action(async () => {
26
+ const handler = (await import('../src/scaffolds/createCoreSchema.js')).default;
27
+ await handler();
28
+ });
29
+
30
+ createCommand
31
+ .command('middleware-manager')
32
+ .description('Create middleware manager in src/core/middleware-manager')
33
+ .action(async () => {
34
+ const handler = (await import('../src/scaffolds/createCoreMiddleware.js')).default;
35
+ await handler();
36
+ });
37
+
38
+ createCommand
39
+ .command('translation-manager')
40
+ .description('Create translation manager in src/core/translation')
41
+ .action(async () => {
42
+ const handler = (await import('../src/scaffolds/createTranslationManager.js')).default;
43
+ await handler();
44
+ });
45
+
46
+ createCommand
47
+ .command('presenter-factory')
48
+ .description('Create presenter factory in src/core/presenter')
49
+ .action(async () => {
50
+ const handler = (await import('../src/scaffolds/createPresenterFactory.js')).default;
51
+ await handler();
52
+ });
53
+
54
+ createCommand
55
+ .command('schema-rule')
56
+ .description('Create schema rule in src/core/schema/custom-rules')
57
+ .action(async () => {
58
+ const handler = (await import('../src/scaffolds/createSchemaRule.js')).default;
59
+ await handler();
60
+ });
61
+
62
+ createCommand
63
+ .command('middleware')
64
+ .description('Create middleware in src/core/middleware-manager/middlewares')
65
+ .action(async () => {
66
+ const handler = (await import('../src/scaffolds/createMiddleware.js')).default;
67
+ await handler();
68
+ });
69
+
70
+ createCommand
71
+ .command('response')
72
+ .description('Create response in src/core/response')
73
+ .action(async () => {
74
+ const handler = (await import('../src/scaffolds/createResponse.js')).default;
75
+ await handler();
76
+ });
77
+
78
+ createCommand
79
+ .command('datasource')
80
+ .description('Create datasource in core or context infrastructure')
81
+ .action(async () => {
82
+ const handler = (await import('../src/scaffolds/createDatasource.js')).default;
83
+ await handler();
84
+ });
85
+
86
+ createCommand
87
+ .command('datasource-provider')
88
+ .description('Create datasource provider in core or context infrastructure')
89
+ .action(async () => {
90
+ const handler = (await import('../src/scaffolds/createDatasourceProvider.js')).default;
91
+ await handler();
92
+ });
93
+
94
+ const lazyCommand = (command, description, importer) => {
95
+ program
96
+ .command(command)
97
+ .description(description)
98
+ .action(async (...args) => {
99
+ const handler = await importer();
100
+ await handler(...args);
101
+ });
102
+ };
103
+
104
+ initCommand
105
+ .command('edges')
106
+ .description('Initialize edges plugin in vite config')
107
+ .action(async () => {
108
+ const handler = (await import('../src/init/initEdges.js')).default;
109
+ await handler();
110
+ });
111
+
112
+ initCommand
113
+ .command('folders-structure')
114
+ .description('Generate base folders structure')
115
+ .action(async () => {
116
+ const handler = (await import('../src/init/initStructure.js')).default;
117
+ await handler();
118
+ });
119
+
120
+ initCommand.action(async () => {
121
+ const initStructure = (await import('../src/init/initStructure.js')).default;
122
+ await initStructure();
123
+ });
124
+
125
+ installCommand
126
+ .command('fresh')
127
+ .description('Run full fresh install flow (structure + optional generators)')
128
+ .action(async () => {
129
+ const handler = (await import('../src/install/installFresh.js')).default;
130
+ await handler();
131
+ });
132
+
133
+ generateCommand
134
+ .command('component')
135
+ .description('Generate UI component')
136
+ .action(async () => {
137
+ const handler = (await import('../src/generate/ui/generateComponent.js')).default;
138
+ await handler();
139
+ });
140
+
141
+ generateCommand
142
+ .command('widget')
143
+ .description('Generate UI widget')
144
+ .action(async () => {
145
+ const handler = (await import('../src/generate/ui/generateWidget.js')).default;
146
+ await handler();
147
+ });
148
+
149
+ generateCommand
150
+ .command('design-component')
151
+ .description('Generate UI design component')
152
+ .action(async () => {
153
+ const handler = (await import('../src/generate/ui/generateDesignComponent.js')).default;
154
+ await handler();
155
+ });
156
+
157
+ generateCommand
158
+ .command('repository')
159
+ .description('Generate infrastructure repository')
160
+ .action(async () => {
161
+ const handler = (await import('../src/generate/layers/generateRepository.js')).default;
162
+ await handler();
163
+ });
164
+
165
+ generateCommand
166
+ .command('repo')
167
+ .description('Generate infrastructure repository (module flow)')
168
+ .action(async () => {
169
+ const handler = (await import('../src/generate/module/generateRepository.js')).default;
170
+ await handler();
171
+ });
172
+
173
+ generateCommand
174
+ .command('repository-method')
175
+ .description('Generate method for an existing repository')
176
+ .action(async () => {
177
+ const handler = (await import('../src/generate/layers/generateRepositoryMethod.js')).default;
178
+ await handler();
179
+ });
180
+
181
+ generateCommand
182
+ .command('use-cases')
183
+ .description('Generate use-cases for an existing repository')
184
+ .action(async () => {
185
+ const handler = (await import('../src/generate/module/generateUseCases.js')).default;
186
+ await handler();
187
+ });
188
+
189
+ generateCommand
190
+ .command('domain')
191
+ .description('Generate domain module (model/ports)')
192
+ .action(async () => {
193
+ const handler = (await import('../src/generate/module/generateDomain.js')).default;
194
+ await handler();
195
+ });
196
+
197
+ generateCommand
198
+ .command('presenter')
199
+ .description('Generate presentation layer presenter from UseCases')
200
+ .action(async () => {
201
+ const handler = (await import('../src/generate/module/generatePresenter.js')).default;
202
+ await handler();
203
+ });
204
+
205
+ generateCommand
206
+ .command('types-json')
207
+ .description('Fill model interface keys from JSON')
208
+ .action(async () => {
209
+ const handler = (await import('../src/generate/module/generateTypesJson.js')).default;
210
+ await handler();
211
+ });
212
+
213
+ generateCommand
214
+ .command('schema-from-type')
215
+ .description('Fill schema rules keys from schema generic type')
216
+ .action(async () => {
217
+ const handler = (await import('../src/generate/module/generateSchemaFromType.js')).default;
218
+ await handler();
219
+ });
220
+
221
+ generateCommand
222
+ .command('module')
223
+ .description('Generate domain + repository + presenter flow')
224
+ .action(async () => {
225
+ const handler = (await import('../src/generate/module/generateModule.js')).default;
226
+ await handler();
227
+ });
228
+
229
+ lazyCommand('make:repo', 'Generate repository', async () => (await import('../src/commands/generate/generateRepository.js')).default);
230
+ lazyCommand('make:service', 'Generate service', async () => (await import('../src/commands/generate/generateService.js')).default);
231
+ lazyCommand('make:schema', 'Generate schema', async () => (await import('../src/commands/generate/generateSchema.js')).default);
232
+ lazyCommand('make:presenter', 'Generate presenter', async () => (await import('../src/commands/generate/generatePresenter.js')).default);
233
+ lazyCommand(
234
+ 'make:crud-base',
235
+ 'Generate CRUD repository and service',
236
+ async () => (await import('../src/commands/generate/generateCrudBase.js')).default
237
+ );
238
+ lazyCommand(
239
+ 'make:crud-presenter',
240
+ 'Generate CRUD presenter for existing service',
241
+ async () => (await import('../src/commands/generate/generateCrudPresenter.js')).default
242
+ );
243
+ lazyCommand(
244
+ 'make:module-base',
245
+ 'Generate repository and service for a module',
246
+ async () => (await import('../src/commands/generate/generateModuleBase.js')).default
247
+ );
248
+ lazyCommand(
249
+ 'make:module-presenter',
250
+ 'Generate presenter for existing service',
251
+ async () => (await import('../src/commands/generate/generateModulePresenter.js')).default
252
+ );
253
+ program.parse();
@@ -0,0 +1,253 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { Command } from 'commander';
4
+ import { addLint } from '../src/plugins/index.js';
5
+
6
+ const program = new Command();
7
+
8
+ program.name('azure-net').description('Azure-Net CLI generator').version('4.0.0');
9
+
10
+ const addCommand = program.command('add').description('Add project integrations and plugins');
11
+ const createCommand = program.command('create').description('Create project boilerplate artifacts');
12
+ const initCommand = program.command('init').description('Initialize project scaffolding');
13
+ const installCommand = program.command('install').description('Install project presets and flows');
14
+ const generateCommand = program.command('generate').description('Generate UI artifacts');
15
+
16
+ addCommand
17
+ .command('commit-tools')
18
+ .description('Setup linting and commit tools')
19
+ .option('-m, --manager <manager>', 'Package manager: bun | pnpm | npm | yarn')
20
+ .action(addLint);
21
+
22
+ createCommand
23
+ .command('schema-factory')
24
+ .description('Create base schema in src/core/schema')
25
+ .action(async () => {
26
+ const handler = (await import('../src/scaffolds/createCoreSchema.js')).default;
27
+ await handler();
28
+ });
29
+
30
+ createCommand
31
+ .command('middleware-manager')
32
+ .description('Create middleware manager in src/core/middleware-manager')
33
+ .action(async () => {
34
+ const handler = (await import('../src/scaffolds/createCoreMiddleware.js')).default;
35
+ await handler();
36
+ });
37
+
38
+ createCommand
39
+ .command('translation-manager')
40
+ .description('Create translation manager in src/core/translation')
41
+ .action(async () => {
42
+ const handler = (await import('../src/scaffolds/createTranslationManager.js')).default;
43
+ await handler();
44
+ });
45
+
46
+ createCommand
47
+ .command('presenter-factory')
48
+ .description('Create presenter factory in src/core/presenter')
49
+ .action(async () => {
50
+ const handler = (await import('../src/scaffolds/createPresenterFactory.js')).default;
51
+ await handler();
52
+ });
53
+
54
+ createCommand
55
+ .command('schema-rule')
56
+ .description('Create schema rule in src/core/schema/custom-rules')
57
+ .action(async () => {
58
+ const handler = (await import('../src/scaffolds/createSchemaRule.js')).default;
59
+ await handler();
60
+ });
61
+
62
+ createCommand
63
+ .command('middleware')
64
+ .description('Create middleware in src/core/middleware-manager/middlewares')
65
+ .action(async () => {
66
+ const handler = (await import('../src/scaffolds/createMiddleware.js')).default;
67
+ await handler();
68
+ });
69
+
70
+ createCommand
71
+ .command('response')
72
+ .description('Create response in src/core/response')
73
+ .action(async () => {
74
+ const handler = (await import('../src/scaffolds/createResponse.js')).default;
75
+ await handler();
76
+ });
77
+
78
+ createCommand
79
+ .command('datasource')
80
+ .description('Create datasource in core or context infrastructure')
81
+ .action(async () => {
82
+ const handler = (await import('../src/scaffolds/createDatasource.js')).default;
83
+ await handler();
84
+ });
85
+
86
+ createCommand
87
+ .command('datasource-provider')
88
+ .description('Create datasource provider in core or context infrastructure')
89
+ .action(async () => {
90
+ const handler = (await import('../src/scaffolds/createDatasourceProvider.js')).default;
91
+ await handler();
92
+ });
93
+
94
+ const lazyCommand = (command: string, description: string, importer: () => Promise<(...args: unknown[]) => Promise<void> | void>) => {
95
+ program
96
+ .command(command)
97
+ .description(description)
98
+ .action(async (...args: unknown[]) => {
99
+ const handler = await importer();
100
+ await handler(...args);
101
+ });
102
+ };
103
+
104
+ initCommand
105
+ .command('edges')
106
+ .description('Initialize edges plugin in vite config')
107
+ .action(async () => {
108
+ const handler = (await import('../src/init/initEdges.js')).default;
109
+ await handler();
110
+ });
111
+
112
+ initCommand
113
+ .command('folders-structure')
114
+ .description('Generate base folders structure')
115
+ .action(async () => {
116
+ const handler = (await import('../src/init/initStructure.js')).default;
117
+ await handler();
118
+ });
119
+
120
+ initCommand.action(async () => {
121
+ const initStructure = (await import('../src/init/initStructure.js')).default;
122
+ await initStructure();
123
+ });
124
+
125
+ installCommand
126
+ .command('fresh')
127
+ .description('Run full fresh install flow (structure + optional generators)')
128
+ .action(async () => {
129
+ const handler = (await import('../src/install/installFresh.js')).default;
130
+ await handler();
131
+ });
132
+
133
+ generateCommand
134
+ .command('component')
135
+ .description('Generate UI component')
136
+ .action(async () => {
137
+ const handler = (await import('../src/generate/ui/generateComponent.js')).default;
138
+ await handler();
139
+ });
140
+
141
+ generateCommand
142
+ .command('widget')
143
+ .description('Generate UI widget')
144
+ .action(async () => {
145
+ const handler = (await import('../src/generate/ui/generateWidget.js')).default;
146
+ await handler();
147
+ });
148
+
149
+ generateCommand
150
+ .command('design-component')
151
+ .description('Generate UI design component')
152
+ .action(async () => {
153
+ const handler = (await import('../src/generate/ui/generateDesignComponent.js')).default;
154
+ await handler();
155
+ });
156
+
157
+ generateCommand
158
+ .command('repository')
159
+ .description('Generate infrastructure repository')
160
+ .action(async () => {
161
+ const handler = (await import('../src/generate/layers/generateRepository.js')).default;
162
+ await handler();
163
+ });
164
+
165
+ generateCommand
166
+ .command('repo')
167
+ .description('Generate infrastructure repository (module flow)')
168
+ .action(async () => {
169
+ const handler = (await import('../src/generate/module/generateRepository.js')).default;
170
+ await handler();
171
+ });
172
+
173
+ generateCommand
174
+ .command('repository-method')
175
+ .description('Generate method for an existing repository')
176
+ .action(async () => {
177
+ const handler = (await import('../src/generate/layers/generateRepositoryMethod.js')).default;
178
+ await handler();
179
+ });
180
+
181
+ generateCommand
182
+ .command('use-cases')
183
+ .description('Generate use-cases for an existing repository')
184
+ .action(async () => {
185
+ const handler = (await import('../src/generate/module/generateUseCases.js')).default;
186
+ await handler();
187
+ });
188
+
189
+ generateCommand
190
+ .command('domain')
191
+ .description('Generate domain module (model/ports)')
192
+ .action(async () => {
193
+ const handler = (await import('../src/generate/module/generateDomain.js')).default;
194
+ await handler();
195
+ });
196
+
197
+ generateCommand
198
+ .command('presenter')
199
+ .description('Generate presentation layer presenter from UseCases')
200
+ .action(async () => {
201
+ const handler = (await import('../src/generate/module/generatePresenter.js')).default;
202
+ await handler();
203
+ });
204
+
205
+ generateCommand
206
+ .command('types-json')
207
+ .description('Fill model interface keys from JSON')
208
+ .action(async () => {
209
+ const handler = (await import('../src/generate/module/generateTypesJson.js')).default;
210
+ await handler();
211
+ });
212
+
213
+ generateCommand
214
+ .command('schema-from-type')
215
+ .description('Fill schema rules keys from schema generic type')
216
+ .action(async () => {
217
+ const handler = (await import('../src/generate/module/generateSchemaFromType.js')).default;
218
+ await handler();
219
+ });
220
+
221
+ generateCommand
222
+ .command('module')
223
+ .description('Generate domain + repository + presenter flow')
224
+ .action(async () => {
225
+ const handler = (await import('../src/generate/module/generateModule.js')).default;
226
+ await handler();
227
+ });
228
+
229
+ lazyCommand('make:repo', 'Generate repository', async () => (await import('../src/commands/generate/generateRepository.js')).default);
230
+ lazyCommand('make:service', 'Generate service', async () => (await import('../src/commands/generate/generateService.js')).default);
231
+ lazyCommand('make:schema', 'Generate schema', async () => (await import('../src/commands/generate/generateSchema.js')).default);
232
+ lazyCommand('make:presenter', 'Generate presenter', async () => (await import('../src/commands/generate/generatePresenter.js')).default);
233
+ lazyCommand(
234
+ 'make:crud-base',
235
+ 'Generate CRUD repository and service',
236
+ async () => (await import('../src/commands/generate/generateCrudBase.js')).default
237
+ );
238
+ lazyCommand(
239
+ 'make:crud-presenter',
240
+ 'Generate CRUD presenter for existing service',
241
+ async () => (await import('../src/commands/generate/generateCrudPresenter.js')).default
242
+ );
243
+ lazyCommand(
244
+ 'make:module-base',
245
+ 'Generate repository and service for a module',
246
+ async () => (await import('../src/commands/generate/generateModuleBase.js')).default
247
+ );
248
+ lazyCommand(
249
+ 'make:module-presenter',
250
+ 'Generate presenter for existing service',
251
+ async () => (await import('../src/commands/generate/generateModulePresenter.js')).default
252
+ );
253
+ program.parse();