@azure-net/cli 2.3.63 → 4.0.0-1

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 (117) hide show
  1. package/.prettierrc +7 -0
  2. package/bin/azure-net.js +278 -157
  3. package/bin/azure-net.ts +284 -0
  4. package/eslint.config.js +34 -0
  5. package/package.json +12 -5
  6. package/src/checks/checkDomain.js +201 -0
  7. package/src/checks/checkDomain.ts +213 -0
  8. package/src/checks/checkFoldersStructure.js +70 -0
  9. package/src/checks/checkFoldersStructure.ts +85 -0
  10. package/src/checks/checkInternal.js +35 -0
  11. package/src/checks/checkInternal.ts +40 -0
  12. package/src/checks/checkLayerBoundaries.js +178 -0
  13. package/src/checks/checkLayerBoundaries.ts +189 -0
  14. package/src/checks/checkPresenterNames.js +202 -0
  15. package/src/checks/checkPresenterNames.ts +208 -0
  16. package/src/checks/checkProject.js +42 -0
  17. package/src/checks/checkProject.ts +45 -0
  18. package/src/checks/checkProviderNames.js +158 -0
  19. package/src/checks/checkProviderNames.ts +165 -0
  20. package/src/checks/index.js +7 -0
  21. package/src/checks/index.ts +7 -0
  22. package/src/generate/layers/generateRepository.js +124 -0
  23. package/src/generate/layers/generateRepository.ts +123 -0
  24. package/src/generate/layers/generateRepositoryMethod.js +102 -0
  25. package/src/generate/layers/generateRepositoryMethod.ts +102 -0
  26. package/src/generate/layers/generateUseCases.js +50 -0
  27. package/src/generate/layers/generateUseCases.ts +50 -0
  28. package/src/generate/layers/repositoryShared.js +569 -0
  29. package/src/generate/layers/repositoryShared.ts +657 -0
  30. package/src/generate/module/generateDomain.js +146 -0
  31. package/src/generate/module/generateDomain.ts +147 -0
  32. package/src/generate/module/generateModule.js +84 -0
  33. package/src/generate/module/generateModule.ts +84 -0
  34. package/src/generate/module/generateModulePreset.js +307 -0
  35. package/src/generate/module/generateModulePreset.ts +337 -0
  36. package/src/generate/module/generatePresenter.js +419 -0
  37. package/src/generate/module/generatePresenter.ts +442 -0
  38. package/src/generate/module/generateRepository.js +144 -0
  39. package/src/generate/module/generateRepository.ts +158 -0
  40. package/src/generate/module/generateSchemaFromType.js +358 -0
  41. package/src/generate/module/generateSchemaFromType.ts +369 -0
  42. package/src/generate/module/generateTypesJson.js +252 -0
  43. package/src/generate/module/generateTypesJson.ts +259 -0
  44. package/src/generate/module/generateUseCases.js +67 -0
  45. package/src/generate/module/generateUseCases.ts +67 -0
  46. package/src/generate/module/repositoryModuleShared.js +598 -0
  47. package/src/generate/module/repositoryModuleShared.ts +661 -0
  48. package/src/generate/ui/generateComponent.js +98 -0
  49. package/src/generate/ui/generateComponent.ts +100 -0
  50. package/src/generate/ui/generateDesignComponent.js +71 -0
  51. package/src/generate/ui/generateDesignComponent.ts +71 -0
  52. package/src/generate/ui/generateWidget.js +71 -0
  53. package/src/generate/ui/generateWidget.ts +71 -0
  54. package/src/init/initAliases.js +159 -0
  55. package/src/init/initAliases.ts +167 -0
  56. package/src/init/initEdges.js +74 -0
  57. package/src/init/initEdges.ts +74 -0
  58. package/src/init/initStructure.js +122 -0
  59. package/src/init/initStructure.ts +124 -0
  60. package/src/install/installFresh.js +101 -0
  61. package/src/install/installFresh.ts +101 -0
  62. package/src/plugins/addLint.js +257 -0
  63. package/src/plugins/addLint.ts +274 -0
  64. package/src/plugins/index.js +1 -0
  65. package/src/plugins/index.ts +1 -0
  66. package/src/scaffolds/createCoreMiddleware.js +27 -0
  67. package/src/scaffolds/createCoreMiddleware.ts +27 -0
  68. package/src/scaffolds/createCoreSchema.js +141 -0
  69. package/src/scaffolds/createCoreSchema.ts +142 -0
  70. package/src/scaffolds/createDatasource.js +173 -0
  71. package/src/scaffolds/createDatasource.ts +175 -0
  72. package/src/scaffolds/createDatasourceProvider.js +164 -0
  73. package/src/scaffolds/createDatasourceProvider.ts +175 -0
  74. package/src/scaffolds/createMiddleware.js +105 -0
  75. package/src/scaffolds/createMiddleware.ts +105 -0
  76. package/src/scaffolds/createPresenterFactory.js +112 -0
  77. package/src/scaffolds/createPresenterFactory.ts +114 -0
  78. package/src/scaffolds/createResponse.js +64 -0
  79. package/src/scaffolds/createResponse.ts +64 -0
  80. package/src/scaffolds/createSchemaRule.js +40 -0
  81. package/src/scaffolds/createSchemaRule.ts +42 -0
  82. package/src/scaffolds/createTranslationManager.js +78 -0
  83. package/src/scaffolds/createTranslationManager.ts +78 -0
  84. package/src/scaffolds/index.js +9 -0
  85. package/src/scaffolds/index.ts +9 -0
  86. package/src/utils/contextUtils.js +56 -49
  87. package/src/utils/contextUtils.ts +89 -0
  88. package/src/utils/fileUtils.js +72 -84
  89. package/src/utils/fileUtils.ts +100 -0
  90. package/src/utils/loadConfig.js +57 -13
  91. package/src/utils/loadConfig.ts +69 -0
  92. package/tsconfig.json +19 -0
  93. package/src/commands/generate/generateComponent.js +0 -53
  94. package/src/commands/generate/generateCrudBase.js +0 -207
  95. package/src/commands/generate/generateCrudPresenter.js +0 -232
  96. package/src/commands/generate/generateDatasource.js +0 -84
  97. package/src/commands/generate/generateDesignComponent.js +0 -53
  98. package/src/commands/generate/generateModule.js +0 -31
  99. package/src/commands/generate/generateModuleBase.js +0 -152
  100. package/src/commands/generate/generateModulePresenter.js +0 -110
  101. package/src/commands/generate/generatePresenter.js +0 -86
  102. package/src/commands/generate/generateRepository.js +0 -76
  103. package/src/commands/generate/generateResponse.js +0 -41
  104. package/src/commands/generate/generateSchema.js +0 -96
  105. package/src/commands/generate/generateService.js +0 -71
  106. package/src/commands/generate/generateWidget.js +0 -53
  107. package/src/commands/generate/index.js +0 -14
  108. package/src/commands/init/index.js +0 -9
  109. package/src/commands/init/initAliases.js +0 -52
  110. package/src/commands/init/initEdges.js +0 -42
  111. package/src/commands/init/initLint.js +0 -138
  112. package/src/commands/init/initMiddleware.js +0 -21
  113. package/src/commands/init/initPresenter.js +0 -25
  114. package/src/commands/init/initSchema.js +0 -22
  115. package/src/commands/init/initStructure.js +0 -140
  116. package/src/commands/init/initTranslations.js +0 -59
  117. 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,284 @@
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
+ const checkCommand = program.command('check').description('Run project checks');
16
+
17
+ addCommand
18
+ .command('commit-tools')
19
+ .description('Setup linting and commit tools')
20
+ .option('-m, --manager <manager>', 'Package manager: bun | pnpm | npm | yarn')
21
+ .action(addLint);
22
+
23
+ createCommand
24
+ .command('schema-factory')
25
+ .description('Create base schema in src/core/schema')
26
+ .action(async () => {
27
+ const handler = (await import('../src/scaffolds/createCoreSchema.js')).default;
28
+ await handler();
29
+ });
30
+
31
+ createCommand
32
+ .command('middleware-manager')
33
+ .description('Create middleware manager in src/core/middleware-manager')
34
+ .action(async () => {
35
+ const handler = (await import('../src/scaffolds/createCoreMiddleware.js')).default;
36
+ await handler();
37
+ });
38
+
39
+ createCommand
40
+ .command('translation-manager')
41
+ .description('Create translation manager in src/core/translation')
42
+ .action(async () => {
43
+ const handler = (await import('../src/scaffolds/createTranslationManager.js')).default;
44
+ await handler();
45
+ });
46
+
47
+ createCommand
48
+ .command('presenter-factory')
49
+ .description('Create presenter factory in src/core/presenter')
50
+ .action(async () => {
51
+ const handler = (await import('../src/scaffolds/createPresenterFactory.js')).default;
52
+ await handler();
53
+ });
54
+
55
+ createCommand
56
+ .command('schema-rule')
57
+ .description('Create schema rule in src/core/schema/custom-rules')
58
+ .action(async () => {
59
+ const handler = (await import('../src/scaffolds/createSchemaRule.js')).default;
60
+ await handler();
61
+ });
62
+
63
+ createCommand
64
+ .command('middleware')
65
+ .description('Create middleware in src/core/middleware-manager/middlewares')
66
+ .action(async () => {
67
+ const handler = (await import('../src/scaffolds/createMiddleware.js')).default;
68
+ await handler();
69
+ });
70
+
71
+ createCommand
72
+ .command('response')
73
+ .description('Create response in src/core/response')
74
+ .action(async () => {
75
+ const handler = (await import('../src/scaffolds/createResponse.js')).default;
76
+ await handler();
77
+ });
78
+
79
+ createCommand
80
+ .command('datasource')
81
+ .description('Create datasource in core or context infrastructure')
82
+ .action(async () => {
83
+ const handler = (await import('../src/scaffolds/createDatasource.js')).default;
84
+ await handler();
85
+ });
86
+
87
+ createCommand
88
+ .command('datasource-provider')
89
+ .description('Create datasource provider in core or context infrastructure')
90
+ .action(async () => {
91
+ const handler = (await import('../src/scaffolds/createDatasourceProvider.js')).default;
92
+ await handler();
93
+ });
94
+
95
+ initCommand
96
+ .command('edges')
97
+ .description('Initialize edges plugin in vite config')
98
+ .action(async () => {
99
+ const handler = (await import('../src/init/initEdges.js')).default;
100
+ await handler();
101
+ });
102
+
103
+ initCommand
104
+ .command('folders-structure')
105
+ .description('Generate base folders structure')
106
+ .action(async () => {
107
+ const handler = (await import('../src/init/initStructure.js')).default;
108
+ await handler();
109
+ });
110
+
111
+ initCommand.action(async () => {
112
+ const initStructure = (await import('../src/init/initStructure.js')).default;
113
+ await initStructure();
114
+ });
115
+
116
+ installCommand
117
+ .command('fresh')
118
+ .description('Run full fresh install flow (structure + optional generators)')
119
+ .action(async () => {
120
+ const handler = (await import('../src/install/installFresh.js')).default;
121
+ await handler();
122
+ });
123
+
124
+ generateCommand
125
+ .command('component')
126
+ .description('Generate UI component')
127
+ .action(async () => {
128
+ const handler = (await import('../src/generate/ui/generateComponent.js')).default;
129
+ await handler();
130
+ });
131
+
132
+ generateCommand
133
+ .command('widget')
134
+ .description('Generate UI widget')
135
+ .action(async () => {
136
+ const handler = (await import('../src/generate/ui/generateWidget.js')).default;
137
+ await handler();
138
+ });
139
+
140
+ generateCommand
141
+ .command('design-component')
142
+ .description('Generate UI design component')
143
+ .action(async () => {
144
+ const handler = (await import('../src/generate/ui/generateDesignComponent.js')).default;
145
+ await handler();
146
+ });
147
+
148
+ generateCommand
149
+ .command('repository')
150
+ .description('Generate infrastructure repository')
151
+ .action(async () => {
152
+ const handler = (await import('../src/generate/layers/generateRepository.js')).default;
153
+ await handler();
154
+ });
155
+
156
+ generateCommand
157
+ .command('repo')
158
+ .description('Generate infrastructure repository (module flow)')
159
+ .action(async () => {
160
+ const handler = (await import('../src/generate/module/generateRepository.js')).default;
161
+ await handler();
162
+ });
163
+
164
+ generateCommand
165
+ .command('repository-method')
166
+ .description('Generate method for an existing repository')
167
+ .action(async () => {
168
+ const handler = (await import('../src/generate/layers/generateRepositoryMethod.js')).default;
169
+ await handler();
170
+ });
171
+
172
+ generateCommand
173
+ .command('use-cases')
174
+ .description('Generate use-cases for an existing repository')
175
+ .action(async () => {
176
+ const handler = (await import('../src/generate/module/generateUseCases.js')).default;
177
+ await handler();
178
+ });
179
+
180
+ generateCommand
181
+ .command('domain')
182
+ .description('Generate domain module (model/ports)')
183
+ .action(async () => {
184
+ const handler = (await import('../src/generate/module/generateDomain.js')).default;
185
+ await handler();
186
+ });
187
+
188
+ generateCommand
189
+ .command('presenter')
190
+ .description('Generate presentation layer presenter from UseCases')
191
+ .action(async () => {
192
+ const handler = (await import('../src/generate/module/generatePresenter.js')).default;
193
+ await handler();
194
+ });
195
+
196
+ generateCommand
197
+ .command('types-json')
198
+ .description('Fill model interface keys from JSON')
199
+ .action(async () => {
200
+ const handler = (await import('../src/generate/module/generateTypesJson.js')).default;
201
+ await handler();
202
+ });
203
+
204
+ generateCommand
205
+ .command('schema-from-type')
206
+ .description('Fill schema rules keys from schema generic type')
207
+ .action(async () => {
208
+ const handler = (await import('../src/generate/module/generateSchemaFromType.js')).default;
209
+ await handler();
210
+ });
211
+
212
+ generateCommand
213
+ .command('module')
214
+ .description('Generate domain + repository + presenter flow')
215
+ .action(async () => {
216
+ const handler = (await import('../src/generate/module/generateModule.js')).default;
217
+ await handler();
218
+ });
219
+
220
+ generateCommand
221
+ .command('module-preset')
222
+ .description('Generate preset CRUD-like module flow')
223
+ .action(async () => {
224
+ const handler = (await import('../src/generate/module/generateModulePreset.js')).default;
225
+ await handler();
226
+ });
227
+
228
+ checkCommand
229
+ .command('presenter-names')
230
+ .description('Check duplicate presenter names in src')
231
+ .action(async () => {
232
+ const handler = (await import('../src/checks/checkPresenterNames.js')).default;
233
+ await handler();
234
+ });
235
+
236
+ checkCommand
237
+ .command('provider-names')
238
+ .description('Check duplicate provider names in src')
239
+ .action(async () => {
240
+ const handler = (await import('../src/checks/checkProviderNames.js')).default;
241
+ await handler();
242
+ });
243
+
244
+ checkCommand
245
+ .command('domain')
246
+ .description('Check domain naming and structure rules in all contexts')
247
+ .action(async () => {
248
+ const handler = (await import('../src/checks/checkDomain.js')).default;
249
+ await handler();
250
+ });
251
+
252
+ checkCommand
253
+ .command('layer-boundaries')
254
+ .description('Check layer boundaries between contexts by aliases')
255
+ .action(async () => {
256
+ const handler = (await import('../src/checks/checkLayerBoundaries.js')).default;
257
+ await handler();
258
+ });
259
+
260
+ checkCommand
261
+ .command('folders-structure')
262
+ .description('Check allowed folders structure in context layers/ui/components')
263
+ .action(async () => {
264
+ const handler = (await import('../src/checks/checkFoldersStructure.js')).default;
265
+ await handler();
266
+ });
267
+
268
+ checkCommand
269
+ .command('internal')
270
+ .description('Run all internal azure-net checks')
271
+ .action(async () => {
272
+ const handler = (await import('../src/checks/checkInternal.js')).default;
273
+ await handler();
274
+ });
275
+
276
+ checkCommand
277
+ .command('project')
278
+ .description('Run full project checks: format, internal, lint, typecheck')
279
+ .action(async () => {
280
+ const handler = (await import('../src/checks/checkProject.js')).default;
281
+ await handler();
282
+ });
283
+
284
+ program.parse();