@azure-net/cli 5.1.1 → 6.0.0-next.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 (176) hide show
  1. package/README.md +189 -0
  2. package/bin/azure-net.js +236 -221
  3. package/dist/bin/azure-net.d.ts +2 -0
  4. package/dist/src/checks/architecture.d.ts +20 -0
  5. package/dist/src/checks/checkDomain.d.ts +1 -0
  6. package/dist/src/checks/checkFoldersStructure.d.ts +1 -0
  7. package/dist/src/checks/checkHooks.d.ts +1 -0
  8. package/dist/src/checks/checkImports.d.ts +1 -0
  9. package/dist/src/checks/checkInternal.d.ts +1 -0
  10. package/dist/src/checks/checkLayerBoundaries.d.ts +1 -0
  11. package/dist/src/checks/checkLayerImports.d.ts +1 -0
  12. package/dist/src/checks/checkPresenterNames.d.ts +1 -0
  13. package/dist/src/checks/checkProject.d.ts +1 -0
  14. package/dist/src/checks/checkProviderGraph.d.ts +1 -0
  15. package/dist/src/checks/checkProviderNames.d.ts +1 -0
  16. package/dist/src/generate/layers/generateRepository.d.ts +1 -0
  17. package/dist/src/generate/layers/generateRepositoryMethod.d.ts +1 -0
  18. package/dist/src/generate/layers/generateUseCases.d.ts +1 -0
  19. package/dist/src/generate/module/generateDomain.d.ts +8 -0
  20. package/dist/src/generate/module/generateModule.d.ts +1 -0
  21. package/dist/src/generate/module/generateModulePreset.d.ts +1 -0
  22. package/dist/src/generate/module/generatePresenter.d.ts +29 -0
  23. package/dist/src/generate/module/generateRepository.d.ts +15 -0
  24. package/dist/src/generate/module/generateRepositoryMethod.d.ts +2 -0
  25. package/dist/src/generate/module/generateSchemaFromType.d.ts +9 -0
  26. package/dist/src/generate/module/generateStore.d.ts +1 -0
  27. package/dist/src/generate/module/generateTypesJson.d.ts +2 -0
  28. package/dist/src/generate/module/generateUseCases.d.ts +1 -0
  29. package/dist/src/generate/module/repositoryModuleShared.d.ts +89 -0
  30. package/dist/src/generate/routes/generateRoutes.d.ts +14 -0
  31. package/dist/src/generate/ui/generateComponent.d.ts +1 -0
  32. package/dist/src/generate/ui/generateDesignComponent.d.ts +1 -0
  33. package/dist/src/generate/ui/generateWidget.d.ts +1 -0
  34. package/dist/src/git/commit.d.ts +23 -0
  35. package/dist/src/git/push.d.ts +11 -0
  36. package/dist/src/git/runGit.d.ts +2 -0
  37. package/dist/src/init/initAliases.d.ts +12 -0
  38. package/dist/src/init/initEdges.d.ts +2 -0
  39. package/dist/src/init/initStructure.d.ts +1 -0
  40. package/dist/src/install/configureCommitTools.d.ts +1 -0
  41. package/dist/src/install/installFresh.d.ts +1 -0
  42. package/dist/src/migrate/migrate.d.ts +22 -0
  43. package/dist/src/migrate/presenters.d.ts +7 -0
  44. package/dist/src/plugins/addLint.d.ts +5 -0
  45. package/dist/src/scaffolds/createCoreSchema.d.ts +1 -0
  46. package/dist/src/scaffolds/createDatasource.d.ts +1 -0
  47. package/dist/src/scaffolds/createProgram.d.ts +1 -0
  48. package/dist/src/scaffolds/createResponse.d.ts +1 -0
  49. package/dist/src/scaffolds/createSchemaRule.d.ts +1 -0
  50. package/dist/src/scaffolds/createTranslationManager.d.ts +1 -0
  51. package/{src/scaffolds/index.ts → dist/src/scaffolds/index.d.ts} +0 -2
  52. package/dist/src/scaffolds/registerDatasource.d.ts +2 -0
  53. package/dist/src/scaffolds/updateDefaultFactoryConfig.d.ts +1 -0
  54. package/dist/src/utils/architecture.d.ts +31 -0
  55. package/dist/src/utils/contextUtils.d.ts +6 -0
  56. package/dist/src/utils/fileUtils.d.ts +5 -0
  57. package/dist/src/utils/flattenConfig.d.ts +2 -0
  58. package/dist/src/utils/legacyAliases.d.ts +1 -0
  59. package/dist/src/utils/loadConfig.d.ts +16 -0
  60. package/dist/src/utils/packageImports.d.ts +4 -0
  61. package/dist/src/utils/sharedFoundation.d.ts +20 -0
  62. package/dist/src/utils/viteConfig.d.ts +9 -0
  63. package/package.json +48 -36
  64. package/src/checks/architecture.js +154 -0
  65. package/src/checks/checkDomain.js +124 -154
  66. package/src/checks/checkFoldersStructure.js +64 -52
  67. package/src/checks/checkHooks.js +12 -12
  68. package/src/checks/checkImports.js +26 -142
  69. package/src/checks/checkInternal.js +27 -24
  70. package/src/checks/checkLayerBoundaries.js +22 -197
  71. package/src/checks/checkLayerImports.js +14 -134
  72. package/src/checks/checkPresenterNames.js +156 -143
  73. package/src/checks/checkProject.js +27 -26
  74. package/src/checks/checkProviderGraph.js +182 -166
  75. package/src/checks/checkProviderNames.js +123 -112
  76. package/src/generate/layers/generateRepository.js +1 -109
  77. package/src/generate/layers/generateRepositoryMethod.js +1 -90
  78. package/src/generate/layers/generateUseCases.js +1 -44
  79. package/src/generate/module/generateDomain.js +81 -105
  80. package/src/generate/module/generateModule.js +34 -68
  81. package/src/generate/module/generateModulePreset.js +188 -248
  82. package/src/generate/module/generatePresenter.js +441 -369
  83. package/src/generate/module/generateRepository.js +102 -121
  84. package/src/generate/module/generateRepositoryMethod.js +117 -0
  85. package/src/generate/module/generateSchemaFromType.js +283 -280
  86. package/src/generate/module/generateStore.js +41 -0
  87. package/src/generate/module/generateTypesJson.js +196 -195
  88. package/src/generate/module/generateUseCases.js +47 -55
  89. package/src/generate/module/repositoryModuleShared.js +480 -459
  90. package/src/generate/routes/generateRoutes.js +4 -7
  91. package/src/generate/ui/generateComponent.js +44 -64
  92. package/src/generate/ui/generateDesignComponent.js +21 -41
  93. package/src/generate/ui/generateWidget.js +21 -41
  94. package/src/git/commit.js +67 -0
  95. package/src/git/push.js +19 -0
  96. package/src/git/runGit.js +11 -0
  97. package/src/init/initAliases.js +19 -135
  98. package/src/init/initEdges.js +79 -54
  99. package/src/init/initStructure.js +31 -145
  100. package/src/install/configureCommitTools.js +1 -0
  101. package/src/install/installFresh.js +39 -68
  102. package/src/migrate/migrate.js +914 -0
  103. package/src/migrate/presenters.js +265 -0
  104. package/src/plugins/addLint.js +52 -219
  105. package/src/scaffolds/createCoreSchema.js +65 -91
  106. package/src/scaffolds/createDatasource.js +67 -101
  107. package/src/scaffolds/createProgram.js +8 -8
  108. package/src/scaffolds/createResponse.js +29 -29
  109. package/src/scaffolds/createSchemaRule.js +19 -19
  110. package/src/scaffolds/createTranslationManager.js +84 -37
  111. package/src/scaffolds/index.js +0 -2
  112. package/src/scaffolds/registerDatasource.js +59 -0
  113. package/src/scaffolds/updateDefaultFactoryConfig.js +31 -0
  114. package/src/utils/architecture.js +145 -0
  115. package/src/utils/contextUtils.js +32 -65
  116. package/src/utils/fileUtils.js +69 -50
  117. package/src/utils/flattenConfig.js +38 -0
  118. package/src/utils/legacyAliases.js +75 -0
  119. package/src/utils/loadConfig.js +76 -40
  120. package/src/utils/packageImports.js +63 -0
  121. package/src/utils/sharedFoundation.js +36 -42
  122. package/src/utils/viteConfig.js +295 -0
  123. package/.prettierrc +0 -7
  124. package/bin/azure-net.ts +0 -308
  125. package/eslint.config.js +0 -34
  126. package/src/checks/checkDomain.ts +0 -223
  127. package/src/checks/checkFoldersStructure.ts +0 -85
  128. package/src/checks/checkHooks.ts +0 -22
  129. package/src/checks/checkImports.ts +0 -193
  130. package/src/checks/checkInternal.ts +0 -48
  131. package/src/checks/checkLayerBoundaries.ts +0 -255
  132. package/src/checks/checkLayerImports.ts +0 -185
  133. package/src/checks/checkPresenterNames.ts +0 -203
  134. package/src/checks/checkProject.ts +0 -45
  135. package/src/checks/checkProviderGraph.ts +0 -234
  136. package/src/checks/checkProviderNames.ts +0 -165
  137. package/src/generate/layers/generateRepository.ts +0 -123
  138. package/src/generate/layers/generateRepositoryMethod.ts +0 -102
  139. package/src/generate/layers/generateUseCases.ts +0 -50
  140. package/src/generate/layers/repositoryShared.js +0 -506
  141. package/src/generate/layers/repositoryShared.ts +0 -662
  142. package/src/generate/module/generateDomain.ts +0 -147
  143. package/src/generate/module/generateModule.ts +0 -84
  144. package/src/generate/module/generateModulePreset.ts +0 -338
  145. package/src/generate/module/generatePresenter.ts +0 -498
  146. package/src/generate/module/generateRepository.ts +0 -158
  147. package/src/generate/module/generateSchemaFromType.ts +0 -368
  148. package/src/generate/module/generateTypesJson.ts +0 -259
  149. package/src/generate/module/generateUseCases.ts +0 -67
  150. package/src/generate/module/repositoryModuleShared.ts +0 -669
  151. package/src/generate/routes/generateRoutes.ts +0 -275
  152. package/src/generate/ui/generateComponent.ts +0 -100
  153. package/src/generate/ui/generateDesignComponent.ts +0 -71
  154. package/src/generate/ui/generateWidget.ts +0 -71
  155. package/src/init/initAliases.ts +0 -172
  156. package/src/init/initEdges.ts +0 -74
  157. package/src/init/initStructure.ts +0 -172
  158. package/src/install/installFresh.ts +0 -93
  159. package/src/plugins/addLint.ts +0 -274
  160. package/src/scaffolds/createCoreSchema.ts +0 -130
  161. package/src/scaffolds/createDatasource.ts +0 -161
  162. package/src/scaffolds/createDatasourceProvider.js +0 -127
  163. package/src/scaffolds/createDatasourceProvider.ts +0 -161
  164. package/src/scaffolds/createPresenterFactory.js +0 -83
  165. package/src/scaffolds/createPresenterFactory.ts +0 -102
  166. package/src/scaffolds/createProgram.ts +0 -19
  167. package/src/scaffolds/createResponse.ts +0 -66
  168. package/src/scaffolds/createSchemaRule.ts +0 -44
  169. package/src/scaffolds/createTranslationManager.ts +0 -80
  170. package/src/utils/contextUtils.ts +0 -88
  171. package/src/utils/fileUtils.ts +0 -74
  172. package/src/utils/loadConfig.ts +0 -68
  173. package/src/utils/sharedFoundation.ts +0 -70
  174. package/tsconfig.json +0 -19
  175. /package/{src/checks/index.ts → dist/src/checks/index.d.ts} +0 -0
  176. /package/{src/plugins/index.ts → dist/src/plugins/index.d.ts} +0 -0
package/bin/azure-net.js CHANGED
@@ -1,266 +1,281 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
+ import { readFileSync } from 'node:fs';
4
+ import commit from '../src/git/commit.js';
5
+ import push from '../src/git/push.js';
3
6
  import { addLint } from '../src/plugins/index.js';
4
7
  const program = new Command();
5
- program.name('azure-net').description('Azure-Net CLI generator').version('4.1.0');
8
+ program
9
+ .name('azure-net')
10
+ .description('Azure-Net CLI generator')
11
+ .version(JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version);
12
+ program
13
+ .command('commit')
14
+ .description('Interactively commit staged changes')
15
+ .action(() => commit());
16
+ program
17
+ .command('push')
18
+ .description('Check, stage, commit and push')
19
+ .option('--no-check', 'Skip all project checks')
20
+ .action((options) => push(options));
21
+ program
22
+ .command('migrate')
23
+ .description('Migrate the legacy application tree with backups and a report')
24
+ .option('--dry-run', 'Show the plan without writing files')
25
+ .option('-y, --yes', 'Apply the migration without confirmation')
26
+ .action(async (options) => {
27
+ await (await import('../src/migrate/migrate.js')).default(options);
28
+ });
6
29
  const addCommand = program.command('add').description('Add project integrations and plugins');
7
30
  const createCommand = program.command('create').description('Create project boilerplate artifacts');
8
31
  const initCommand = program.command('init').description('Initialize project scaffolding');
9
32
  const installCommand = program.command('install').description('Install project presets and flows');
10
33
  const generateCommand = program.command('generate').description('Generate UI artifacts');
11
34
  const checkCommand = program.command('check').description('Run project checks');
12
- addCommand
13
- .command('commit-tools')
14
- .description('Setup linting and commit tools')
15
- .option('-m, --manager <manager>', 'Package manager: bun | pnpm | npm | yarn')
16
- .action(addLint);
17
- createCommand
18
- .command('schema-factory')
19
- .description('Create base schema in shared essentials foundation constructs')
20
- .action(async () => {
21
- const handler = (await import('../src/scaffolds/createCoreSchema.js')).default;
22
- await handler();
23
- });
24
- createCommand
25
- .command('translation-manager')
26
- .description('Create translation manager in shared essentials localization')
27
- .action(async () => {
28
- const handler = (await import('../src/scaffolds/createTranslationManager.js')).default;
29
- await handler();
30
- });
35
+ addCommand.command('commit-tools').description('Replace Prettier configuration without installing packages').action(addLint);
31
36
  createCommand
32
- .command('presenter-factory')
33
- .description('Create presenter factory in shared essentials foundation constructs')
34
- .action(async () => {
35
- const handler = (await import('../src/scaffolds/createPresenterFactory.js')).default;
36
- await handler();
37
- });
37
+ .command('schema-factory')
38
+ .description('Create base schema in Platform/Foundation')
39
+ .action(async () => {
40
+ const handler = (await import('../src/scaffolds/createCoreSchema.js')).default;
41
+ await handler();
42
+ });
38
43
  createCommand
39
- .command('schema-rule')
40
- .description('Create schema rule in shared essentials foundation constructs')
41
- .action(async () => {
42
- const handler = (await import('../src/scaffolds/createSchemaRule.js')).default;
43
- await handler();
44
- });
44
+ .command('translation-manager')
45
+ .description('Create translation manager in Platform/Bootstrap/Localization')
46
+ .action(async () => {
47
+ const handler = (await import('../src/scaffolds/createTranslationManager.js')).default;
48
+ await handler();
49
+ });
45
50
  createCommand
46
- .command('response')
47
- .description('Create response in shared essentials foundation constructs')
48
- .action(async () => {
49
- const handler = (await import('../src/scaffolds/createResponse.js')).default;
50
- await handler();
51
- });
51
+ .command('schema-rule')
52
+ .description('Create schema rule in Platform/Foundation')
53
+ .action(async () => {
54
+ const handler = (await import('../src/scaffolds/createSchemaRule.js')).default;
55
+ await handler();
56
+ });
52
57
  createCommand
53
- .command('datasource')
54
- .description('Create datasource in core or context infrastructure')
55
- .action(async () => {
56
- const handler = (await import('../src/scaffolds/createDatasource.js')).default;
57
- await handler();
58
- });
58
+ .command('response')
59
+ .description('Create response in Platform/Foundation')
60
+ .action(async () => {
61
+ const handler = (await import('../src/scaffolds/createResponse.js')).default;
62
+ await handler();
63
+ });
59
64
  createCommand
60
- .command('datasource-provider')
61
- .description('Create datasource provider in core or context infrastructure')
62
- .action(async () => {
63
- const handler = (await import('../src/scaffolds/createDatasourceProvider.js')).default;
64
- await handler();
65
- });
65
+ .command('datasource')
66
+ .description('Create datasource in Platform/Foundation')
67
+ .action(async () => {
68
+ const handler = (await import('../src/scaffolds/createDatasource.js')).default;
69
+ await handler();
70
+ });
66
71
  initCommand
67
- .command('edges')
68
- .description('Initialize edges plugin in vite config')
69
- .action(async () => {
70
- const handler = (await import('../src/init/initEdges.js')).default;
71
- await handler();
72
- });
72
+ .command('edges')
73
+ .description('Configure AzureNetPlugin in Vite (legacy command name)')
74
+ .action(async () => {
75
+ const handler = (await import('../src/init/initEdges.js')).default;
76
+ await handler();
77
+ });
73
78
  initCommand
74
- .command('folders-structure')
75
- .description('Generate base folders structure')
76
- .action(async () => {
77
- const handler = (await import('../src/init/initStructure.js')).default;
78
- await handler();
79
- });
79
+ .command('folders-structure')
80
+ .description('Generate base folders structure')
81
+ .action(async () => {
82
+ const handler = (await import('../src/init/initStructure.js')).default;
83
+ await handler();
84
+ });
80
85
  initCommand.action(async () => {
81
- const initStructure = (await import('../src/init/initStructure.js')).default;
82
- await initStructure();
86
+ const initStructure = (await import('../src/init/initStructure.js')).default;
87
+ await initStructure();
83
88
  });
84
89
  installCommand
85
- .command('fresh')
86
- .description('Run full fresh install flow (structure + optional generators)')
87
- .action(async () => {
88
- const handler = (await import('../src/install/installFresh.js')).default;
89
- await handler();
90
- });
90
+ .command('fresh')
91
+ .description('Run full fresh install flow (structure + optional generators)')
92
+ .action(async () => {
93
+ const handler = (await import('../src/install/installFresh.js')).default;
94
+ await handler();
95
+ });
91
96
  generateCommand
92
- .command('component')
93
- .description('Generate UI component')
94
- .action(async () => {
95
- const handler = (await import('../src/generate/ui/generateComponent.js')).default;
96
- await handler();
97
- });
97
+ .command('component')
98
+ .description('Generate UI component')
99
+ .action(async () => {
100
+ const handler = (await import('../src/generate/ui/generateComponent.js')).default;
101
+ await handler();
102
+ });
98
103
  generateCommand
99
- .command('widget')
100
- .description('Generate UI widget')
101
- .action(async () => {
102
- const handler = (await import('../src/generate/ui/generateWidget.js')).default;
103
- await handler();
104
- });
104
+ .command('widget')
105
+ .description('Generate UI widget')
106
+ .action(async () => {
107
+ const handler = (await import('../src/generate/ui/generateWidget.js')).default;
108
+ await handler();
109
+ });
105
110
  generateCommand
106
- .command('design-component')
107
- .description('Generate UI design component')
108
- .action(async () => {
109
- const handler = (await import('../src/generate/ui/generateDesignComponent.js')).default;
110
- await handler();
111
- });
111
+ .command('design-component')
112
+ .description('Generate UI design component')
113
+ .action(async () => {
114
+ const handler = (await import('../src/generate/ui/generateDesignComponent.js')).default;
115
+ await handler();
116
+ });
112
117
  generateCommand
113
- .command('repository')
114
- .description('Generate infrastructure repository')
115
- .action(async () => {
116
- const handler = (await import('../src/generate/layers/generateRepository.js')).default;
117
- await handler();
118
- });
118
+ .command('repository')
119
+ .description('Generate infrastructure repository')
120
+ .action(async () => {
121
+ const handler = (await import('../src/generate/layers/generateRepository.js')).default;
122
+ await handler();
123
+ });
119
124
  generateCommand
120
- .command('repo')
121
- .description('Generate infrastructure repository (module flow)')
122
- .action(async () => {
123
- const handler = (await import('../src/generate/module/generateRepository.js')).default;
124
- await handler();
125
- });
125
+ .command('repo')
126
+ .description('Generate infrastructure repository (module flow)')
127
+ .action(async () => {
128
+ const handler = (await import('../src/generate/module/generateRepository.js')).default;
129
+ await handler();
130
+ });
126
131
  generateCommand
127
- .command('repository-method')
128
- .description('Generate method for an existing repository')
129
- .action(async () => {
130
- const handler = (await import('../src/generate/layers/generateRepositoryMethod.js')).default;
131
- await handler();
132
- });
132
+ .command('repository-method')
133
+ .description('Generate method for an existing repository')
134
+ .action(async () => {
135
+ const handler = (await import('../src/generate/layers/generateRepositoryMethod.js')).default;
136
+ await handler();
137
+ });
133
138
  generateCommand
134
- .command('use-cases')
135
- .description('Generate use-cases for an existing repository')
136
- .action(async () => {
137
- const handler = (await import('../src/generate/module/generateUseCases.js')).default;
138
- await handler();
139
- });
139
+ .command('use-cases')
140
+ .description('Generate use-cases for an existing repository')
141
+ .action(async () => {
142
+ const handler = (await import('../src/generate/module/generateUseCases.js')).default;
143
+ await handler();
144
+ });
140
145
  generateCommand
141
- .command('domain')
142
- .description('Generate domain module (model/ports)')
143
- .action(async () => {
144
- const handler = (await import('../src/generate/module/generateDomain.js')).default;
145
- await handler();
146
- });
146
+ .command('domain')
147
+ .description('Generate domain types (Entities/Ports)')
148
+ .action(async () => {
149
+ const handler = (await import('../src/generate/module/generateDomain.js')).default;
150
+ await handler();
151
+ });
147
152
  generateCommand
148
- .command('presenter')
149
- .description('Generate presentation layer presenter from UseCases')
150
- .action(async () => {
151
- const handler = (await import('../src/generate/module/generatePresenter.js')).default;
152
- await handler();
153
- });
153
+ .command('store')
154
+ .description('Generate a request-isolated reactive class with a browser singleton')
155
+ .action(async () => {
156
+ const handler = (await import('../src/generate/module/generateStore.js')).default;
157
+ await handler();
158
+ });
154
159
  generateCommand
155
- .command('types-json')
156
- .description('Fill model interface keys from JSON')
157
- .action(async () => {
158
- const handler = (await import('../src/generate/module/generateTypesJson.js')).default;
159
- await handler();
160
- });
160
+ .command('presenter')
161
+ .description('Generate presentation layer presenter from UseCases')
162
+ .action(async () => {
163
+ const handler = (await import('../src/generate/module/generatePresenter.js')).default;
164
+ await handler();
165
+ });
161
166
  generateCommand
162
- .command('schema-from-type')
163
- .description('Fill schema rules keys from schema generic type')
164
- .action(async () => {
165
- const handler = (await import('../src/generate/module/generateSchemaFromType.js')).default;
166
- await handler();
167
- });
167
+ .command('types-json')
168
+ .description('Fill model interface keys from JSON')
169
+ .action(async () => {
170
+ const handler = (await import('../src/generate/module/generateTypesJson.js')).default;
171
+ await handler();
172
+ });
168
173
  generateCommand
169
- .command('module')
170
- .description('Generate domain + repository + presenter flow')
171
- .action(async () => {
172
- const handler = (await import('../src/generate/module/generateModule.js')).default;
173
- await handler();
174
- });
174
+ .command('schema-from-type')
175
+ .description('Fill schema rules keys from schema generic type')
176
+ .action(async () => {
177
+ const handler = (await import('../src/generate/module/generateSchemaFromType.js')).default;
178
+ await handler();
179
+ });
180
+ generateCommand
181
+ .command('module')
182
+ .description('Generate domain + repository + presenter flow')
183
+ .action(async () => {
184
+ const handler = (await import('../src/generate/module/generateModule.js')).default;
185
+ await handler();
186
+ });
175
187
  generateCommand
176
- .command('module-preset')
177
- .description('Generate preset CRUD-like module flow')
178
- .action(async () => {
179
- const handler = (await import('../src/generate/module/generateModulePreset.js')).default;
180
- await handler();
181
- });
188
+ .command('module-preset')
189
+ .description('Generate preset CRUD-like module flow')
190
+ .action(async () => {
191
+ const handler = (await import('../src/generate/module/generateModulePreset.js')).default;
192
+ await handler();
193
+ });
182
194
  generateCommand
183
- .command('routes')
184
- .description('Generate typed SvelteKit routes list')
185
- .action(async () => {
186
- const handler = (await import('../src/generate/routes/generateRoutes.js')).default;
187
- await handler();
188
- });
195
+ .command('routes')
196
+ .description('Generate typed SvelteKit routes list')
197
+ .action(async () => {
198
+ const handler = (await import('../src/generate/routes/generateRoutes.js')).default;
199
+ await handler();
200
+ });
189
201
  checkCommand
190
- .command('presenter-names')
191
- .description('Check duplicate presenter names in src')
192
- .action(async () => {
193
- const handler = (await import('../src/checks/checkPresenterNames.js')).default;
194
- await handler();
195
- });
202
+ .command('presenter-names')
203
+ .description('Check duplicate presenter names in src')
204
+ .action(async () => {
205
+ const handler = (await import('../src/checks/checkPresenterNames.js')).default;
206
+ await handler();
207
+ });
196
208
  checkCommand
197
- .command('provider-names')
198
- .description('Check duplicate provider names in src')
199
- .action(async () => {
200
- const handler = (await import('../src/checks/checkProviderNames.js')).default;
201
- await handler();
202
- });
209
+ .command('provider-names')
210
+ .description('Check duplicate provider names in src')
211
+ .action(async () => {
212
+ const handler = (await import('../src/checks/checkProviderNames.js')).default;
213
+ await handler();
214
+ });
203
215
  checkCommand
204
- .command('provider-graph')
205
- .description('Check provider dependency graph for cycles')
206
- .action(async () => {
207
- const handler = (await import('../src/checks/checkProviderGraph.js')).default;
208
- await handler();
209
- });
216
+ .command('provider-graph')
217
+ .description('Check provider dependency graph for cycles')
218
+ .action(async () => {
219
+ const handler = (await import('../src/checks/checkProviderGraph.js')).default;
220
+ await handler();
221
+ });
210
222
  checkCommand
211
- .command('domain')
212
- .description('Check domain naming and structure rules in all contexts')
213
- .action(async () => {
214
- const handler = (await import('../src/checks/checkDomain.js')).default;
215
- await handler();
216
- });
223
+ .command('domain')
224
+ .description('Check domain naming and structure rules in all contexts')
225
+ .action(async () => {
226
+ const handler = (await import('../src/checks/checkDomain.js')).default;
227
+ await handler();
228
+ });
217
229
  checkCommand
218
- .command('imports')
219
- .description('Check import extensions and import group order in src')
220
- .action(async () => {
221
- const handler = (await import('../src/checks/checkImports.js')).default;
222
- await handler();
223
- });
230
+ .command('imports')
231
+ .description('Check import extensions and import group order in src')
232
+ .action(async () => {
233
+ const handler = (await import('../src/checks/checkImports.js')).default;
234
+ await handler();
235
+ });
224
236
  checkCommand
225
- .command('hooks')
226
- .description('Check that manual SvelteKit hooks are not present')
227
- .action(async () => {
228
- const handler = (await import('../src/checks/checkHooks.js')).default;
229
- await handler();
230
- });
237
+ .command('hooks')
238
+ .description('Check that manual SvelteKit hooks are not present')
239
+ .action(async () => {
240
+ const handler = (await import('../src/checks/checkHooks.js')).default;
241
+ await handler();
242
+ });
231
243
  checkCommand
232
- .command('layer-imports')
233
- .description('Check forbidden imports between layers inside each context')
234
- .action(async () => {
235
- const handler = (await import('../src/checks/checkLayerImports.js')).default;
236
- await handler();
237
- });
244
+ .command('layer-imports')
245
+ .description('Check forbidden imports between layers inside each context')
246
+ .action(async () => {
247
+ const handler = (await import('../src/checks/checkLayerImports.js')).default;
248
+ await handler();
249
+ });
238
250
  checkCommand
239
- .command('layer-boundaries')
240
- .description('Check layer boundaries between contexts by aliases')
241
- .action(async () => {
242
- const handler = (await import('../src/checks/checkLayerBoundaries.js')).default;
243
- await handler();
244
- });
251
+ .command('layer-boundaries')
252
+ .description('Check layer boundaries between contexts by aliases')
253
+ .action(async () => {
254
+ const handler = (await import('../src/checks/checkLayerBoundaries.js')).default;
255
+ await handler();
256
+ });
245
257
  checkCommand
246
- .command('folders-structure')
247
- .description('Check allowed folders structure in context layers/ui/components')
248
- .action(async () => {
249
- const handler = (await import('../src/checks/checkFoldersStructure.js')).default;
250
- await handler();
251
- });
258
+ .command('folders-structure')
259
+ .description('Check allowed folders structure in context layers/ui/components')
260
+ .action(async () => {
261
+ const handler = (await import('../src/checks/checkFoldersStructure.js')).default;
262
+ await handler();
263
+ });
252
264
  checkCommand
253
- .command('internal')
254
- .description('Run all internal azure-net checks')
255
- .action(async () => {
256
- const handler = (await import('../src/checks/checkInternal.js')).default;
257
- await handler();
258
- });
265
+ .command('internal')
266
+ .description('Run all internal azure-net checks')
267
+ .action(async () => {
268
+ const handler = (await import('../src/checks/checkInternal.js')).default;
269
+ await handler();
270
+ });
259
271
  checkCommand
260
- .command('project')
261
- .description('Run full project checks: format, internal, lint, typecheck')
262
- .action(async () => {
263
- const handler = (await import('../src/checks/checkProject.js')).default;
264
- await handler();
265
- });
266
- program.parse();
272
+ .command('project')
273
+ .description('Run full project checks: format, internal, lint, typecheck')
274
+ .action(async () => {
275
+ const handler = (await import('../src/checks/checkProject.js')).default;
276
+ await handler();
277
+ });
278
+ program.parseAsync().catch((error) => {
279
+ console.error(error instanceof Error ? error.message : String(error));
280
+ process.exitCode = 1;
281
+ });
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,20 @@
1
+ import ts from 'typescript';
2
+ export type Issue = {
3
+ file: string;
4
+ line: number;
5
+ message: string;
6
+ };
7
+ export declare const appRoot: () => string;
8
+ export declare const directories: (root: string) => Promise<string[]>;
9
+ export declare function sourceFiles(root: string): Promise<string[]>;
10
+ export declare function parseSource(content: string, filename?: string): ts.SourceFile;
11
+ export declare function dependencies(content: string, filename?: string): Array<{
12
+ source: string;
13
+ line: number;
14
+ kind: string;
15
+ }>;
16
+ export declare function exportOnly(content: string): boolean;
17
+ export declare function importResolver(): Promise<(file: string, source: string) => string | null>;
18
+ export declare function location(file: string): string[];
19
+ export declare function report(label: string, issues: Issue[]): void;
20
+ export declare function checkDependencies(label: string, rule: (source: string[], target: string[]) => string | null): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkDomain(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkFoldersStructure(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkHooks(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkImports(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkInternal(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkLayerBoundaries(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkLayerImports(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkPresenterNames(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkProject(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkProviderGraph(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function checkProviderNames(): Promise<void>;
@@ -0,0 +1 @@
1
+ export { default } from '../module/generateRepository.js';
@@ -0,0 +1 @@
1
+ export { default } from '../module/generateRepositoryMethod.js';
@@ -0,0 +1 @@
1
+ export { default } from '../module/generateUseCases.js';
@@ -0,0 +1,8 @@
1
+ export default function generateDomain(options?: {
2
+ contextName?: string;
3
+ entityName?: string;
4
+ }): Promise<{
5
+ contextName: string;
6
+ domainName: string;
7
+ domainPath: string;
8
+ } | null>;
@@ -0,0 +1 @@
1
+ export default function generateModule(): Promise<void>;
@@ -0,0 +1 @@
1
+ export default function generateModulePreset(): Promise<void>;
@@ -0,0 +1,29 @@
1
+ type MethodParam = {
2
+ name: string;
3
+ type: string;
4
+ };
5
+ type RepositoryMethod = {
6
+ name: string;
7
+ params: MethodParam[];
8
+ responseType: string;
9
+ };
10
+ type UseCasesInfo = {
11
+ repositoryInterfaceName: string | null;
12
+ domainName: string | null;
13
+ methods: string[];
14
+ };
15
+ type ProviderInfo = {
16
+ providerName: string;
17
+ services: Map<string, string>;
18
+ };
19
+ export declare const parseProviderInfo: (content: string) => ProviderInfo;
20
+ export declare const parseUseCasesInfo: (content: string) => UseCasesInfo;
21
+ export declare const parseRepositoryInterfaceMethods: (content: string, interfaceName?: string) => RepositoryMethod[];
22
+ export declare const parseRepositoryHttpMethods: (content: string) => Map<string, string>;
23
+ export declare const normalizeTypeImports: (types: string[]) => string[];
24
+ type GeneratePresenterOptions = {
25
+ contextName?: string;
26
+ useCasesName?: string;
27
+ };
28
+ export default function generatePresenter(options?: GeneratePresenterOptions): Promise<void>;
29
+ export {};
@@ -0,0 +1,15 @@
1
+ type GenerateRepositoryOptions = {
2
+ contextName?: string;
3
+ domainName?: string;
4
+ forceCreateUseCases?: boolean;
5
+ };
6
+ type GenerateRepositoryResult = {
7
+ contextName: string;
8
+ domainName: string;
9
+ repositoryName: string;
10
+ useCasesName: string;
11
+ useCasesCreated: boolean;
12
+ datasourceName: string;
13
+ };
14
+ export default function generateRepository(options?: GenerateRepositoryOptions): Promise<GenerateRepositoryResult | null>;
15
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function addTypeImports(content: string, generated: string): string;
2
+ export default function generateRepositoryMethod(): Promise<void>;