@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.
- package/README.md +189 -0
- package/bin/azure-net.js +236 -221
- package/dist/bin/azure-net.d.ts +2 -0
- package/dist/src/checks/architecture.d.ts +20 -0
- package/dist/src/checks/checkDomain.d.ts +1 -0
- package/dist/src/checks/checkFoldersStructure.d.ts +1 -0
- package/dist/src/checks/checkHooks.d.ts +1 -0
- package/dist/src/checks/checkImports.d.ts +1 -0
- package/dist/src/checks/checkInternal.d.ts +1 -0
- package/dist/src/checks/checkLayerBoundaries.d.ts +1 -0
- package/dist/src/checks/checkLayerImports.d.ts +1 -0
- package/dist/src/checks/checkPresenterNames.d.ts +1 -0
- package/dist/src/checks/checkProject.d.ts +1 -0
- package/dist/src/checks/checkProviderGraph.d.ts +1 -0
- package/dist/src/checks/checkProviderNames.d.ts +1 -0
- package/dist/src/generate/layers/generateRepository.d.ts +1 -0
- package/dist/src/generate/layers/generateRepositoryMethod.d.ts +1 -0
- package/dist/src/generate/layers/generateUseCases.d.ts +1 -0
- package/dist/src/generate/module/generateDomain.d.ts +8 -0
- package/dist/src/generate/module/generateModule.d.ts +1 -0
- package/dist/src/generate/module/generateModulePreset.d.ts +1 -0
- package/dist/src/generate/module/generatePresenter.d.ts +29 -0
- package/dist/src/generate/module/generateRepository.d.ts +15 -0
- package/dist/src/generate/module/generateRepositoryMethod.d.ts +2 -0
- package/dist/src/generate/module/generateSchemaFromType.d.ts +9 -0
- package/dist/src/generate/module/generateStore.d.ts +1 -0
- package/dist/src/generate/module/generateTypesJson.d.ts +2 -0
- package/dist/src/generate/module/generateUseCases.d.ts +1 -0
- package/dist/src/generate/module/repositoryModuleShared.d.ts +89 -0
- package/dist/src/generate/routes/generateRoutes.d.ts +14 -0
- package/dist/src/generate/ui/generateComponent.d.ts +1 -0
- package/dist/src/generate/ui/generateDesignComponent.d.ts +1 -0
- package/dist/src/generate/ui/generateWidget.d.ts +1 -0
- package/dist/src/git/commit.d.ts +23 -0
- package/dist/src/git/push.d.ts +11 -0
- package/dist/src/git/runGit.d.ts +2 -0
- package/dist/src/init/initAliases.d.ts +12 -0
- package/dist/src/init/initEdges.d.ts +2 -0
- package/dist/src/init/initStructure.d.ts +1 -0
- package/dist/src/install/configureCommitTools.d.ts +1 -0
- package/dist/src/install/installFresh.d.ts +1 -0
- package/dist/src/migrate/migrate.d.ts +22 -0
- package/dist/src/migrate/presenters.d.ts +7 -0
- package/dist/src/plugins/addLint.d.ts +5 -0
- package/dist/src/scaffolds/createCoreSchema.d.ts +1 -0
- package/dist/src/scaffolds/createDatasource.d.ts +1 -0
- package/dist/src/scaffolds/createProgram.d.ts +1 -0
- package/dist/src/scaffolds/createResponse.d.ts +1 -0
- package/dist/src/scaffolds/createSchemaRule.d.ts +1 -0
- package/dist/src/scaffolds/createTranslationManager.d.ts +1 -0
- package/{src/scaffolds/index.ts → dist/src/scaffolds/index.d.ts} +0 -2
- package/dist/src/scaffolds/registerDatasource.d.ts +2 -0
- package/dist/src/scaffolds/updateDefaultFactoryConfig.d.ts +1 -0
- package/dist/src/utils/architecture.d.ts +31 -0
- package/dist/src/utils/contextUtils.d.ts +6 -0
- package/dist/src/utils/fileUtils.d.ts +5 -0
- package/dist/src/utils/flattenConfig.d.ts +2 -0
- package/dist/src/utils/legacyAliases.d.ts +1 -0
- package/dist/src/utils/loadConfig.d.ts +16 -0
- package/dist/src/utils/packageImports.d.ts +4 -0
- package/dist/src/utils/sharedFoundation.d.ts +20 -0
- package/dist/src/utils/viteConfig.d.ts +9 -0
- package/package.json +48 -36
- package/src/checks/architecture.js +154 -0
- package/src/checks/checkDomain.js +124 -154
- package/src/checks/checkFoldersStructure.js +64 -52
- package/src/checks/checkHooks.js +12 -12
- package/src/checks/checkImports.js +26 -142
- package/src/checks/checkInternal.js +27 -24
- package/src/checks/checkLayerBoundaries.js +22 -197
- package/src/checks/checkLayerImports.js +14 -134
- package/src/checks/checkPresenterNames.js +156 -143
- package/src/checks/checkProject.js +27 -26
- package/src/checks/checkProviderGraph.js +182 -166
- package/src/checks/checkProviderNames.js +123 -112
- package/src/generate/layers/generateRepository.js +1 -109
- package/src/generate/layers/generateRepositoryMethod.js +1 -90
- package/src/generate/layers/generateUseCases.js +1 -44
- package/src/generate/module/generateDomain.js +81 -105
- package/src/generate/module/generateModule.js +34 -68
- package/src/generate/module/generateModulePreset.js +188 -248
- package/src/generate/module/generatePresenter.js +441 -369
- package/src/generate/module/generateRepository.js +102 -121
- package/src/generate/module/generateRepositoryMethod.js +117 -0
- package/src/generate/module/generateSchemaFromType.js +283 -280
- package/src/generate/module/generateStore.js +41 -0
- package/src/generate/module/generateTypesJson.js +196 -195
- package/src/generate/module/generateUseCases.js +47 -55
- package/src/generate/module/repositoryModuleShared.js +480 -459
- package/src/generate/routes/generateRoutes.js +4 -7
- package/src/generate/ui/generateComponent.js +44 -64
- package/src/generate/ui/generateDesignComponent.js +21 -41
- package/src/generate/ui/generateWidget.js +21 -41
- package/src/git/commit.js +67 -0
- package/src/git/push.js +19 -0
- package/src/git/runGit.js +11 -0
- package/src/init/initAliases.js +19 -135
- package/src/init/initEdges.js +79 -54
- package/src/init/initStructure.js +31 -145
- package/src/install/configureCommitTools.js +1 -0
- package/src/install/installFresh.js +39 -68
- package/src/migrate/migrate.js +914 -0
- package/src/migrate/presenters.js +265 -0
- package/src/plugins/addLint.js +52 -219
- package/src/scaffolds/createCoreSchema.js +65 -91
- package/src/scaffolds/createDatasource.js +67 -101
- package/src/scaffolds/createProgram.js +8 -8
- package/src/scaffolds/createResponse.js +29 -29
- package/src/scaffolds/createSchemaRule.js +19 -19
- package/src/scaffolds/createTranslationManager.js +84 -37
- package/src/scaffolds/index.js +0 -2
- package/src/scaffolds/registerDatasource.js +59 -0
- package/src/scaffolds/updateDefaultFactoryConfig.js +31 -0
- package/src/utils/architecture.js +145 -0
- package/src/utils/contextUtils.js +32 -65
- package/src/utils/fileUtils.js +69 -50
- package/src/utils/flattenConfig.js +38 -0
- package/src/utils/legacyAliases.js +75 -0
- package/src/utils/loadConfig.js +76 -40
- package/src/utils/packageImports.js +63 -0
- package/src/utils/sharedFoundation.js +36 -42
- package/src/utils/viteConfig.js +295 -0
- package/.prettierrc +0 -7
- package/bin/azure-net.ts +0 -308
- package/eslint.config.js +0 -34
- package/src/checks/checkDomain.ts +0 -223
- package/src/checks/checkFoldersStructure.ts +0 -85
- package/src/checks/checkHooks.ts +0 -22
- package/src/checks/checkImports.ts +0 -193
- package/src/checks/checkInternal.ts +0 -48
- package/src/checks/checkLayerBoundaries.ts +0 -255
- package/src/checks/checkLayerImports.ts +0 -185
- package/src/checks/checkPresenterNames.ts +0 -203
- package/src/checks/checkProject.ts +0 -45
- package/src/checks/checkProviderGraph.ts +0 -234
- package/src/checks/checkProviderNames.ts +0 -165
- package/src/generate/layers/generateRepository.ts +0 -123
- package/src/generate/layers/generateRepositoryMethod.ts +0 -102
- package/src/generate/layers/generateUseCases.ts +0 -50
- package/src/generate/layers/repositoryShared.js +0 -506
- package/src/generate/layers/repositoryShared.ts +0 -662
- package/src/generate/module/generateDomain.ts +0 -147
- package/src/generate/module/generateModule.ts +0 -84
- package/src/generate/module/generateModulePreset.ts +0 -338
- package/src/generate/module/generatePresenter.ts +0 -498
- package/src/generate/module/generateRepository.ts +0 -158
- package/src/generate/module/generateSchemaFromType.ts +0 -368
- package/src/generate/module/generateTypesJson.ts +0 -259
- package/src/generate/module/generateUseCases.ts +0 -67
- package/src/generate/module/repositoryModuleShared.ts +0 -669
- package/src/generate/routes/generateRoutes.ts +0 -275
- package/src/generate/ui/generateComponent.ts +0 -100
- package/src/generate/ui/generateDesignComponent.ts +0 -71
- package/src/generate/ui/generateWidget.ts +0 -71
- package/src/init/initAliases.ts +0 -172
- package/src/init/initEdges.ts +0 -74
- package/src/init/initStructure.ts +0 -172
- package/src/install/installFresh.ts +0 -93
- package/src/plugins/addLint.ts +0 -274
- package/src/scaffolds/createCoreSchema.ts +0 -130
- package/src/scaffolds/createDatasource.ts +0 -161
- package/src/scaffolds/createDatasourceProvider.js +0 -127
- package/src/scaffolds/createDatasourceProvider.ts +0 -161
- package/src/scaffolds/createPresenterFactory.js +0 -83
- package/src/scaffolds/createPresenterFactory.ts +0 -102
- package/src/scaffolds/createProgram.ts +0 -19
- package/src/scaffolds/createResponse.ts +0 -66
- package/src/scaffolds/createSchemaRule.ts +0 -44
- package/src/scaffolds/createTranslationManager.ts +0 -80
- package/src/utils/contextUtils.ts +0 -88
- package/src/utils/fileUtils.ts +0 -74
- package/src/utils/loadConfig.ts +0 -68
- package/src/utils/sharedFoundation.ts +0 -70
- package/tsconfig.json +0 -19
- /package/{src/checks/index.ts → dist/src/checks/index.d.ts} +0 -0
- /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
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
|
|
82
|
-
|
|
86
|
+
const initStructure = (await import('../src/init/initStructure.js')).default;
|
|
87
|
+
await initStructure();
|
|
83
88
|
});
|
|
84
89
|
installCommand
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
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
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
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
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
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
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
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
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
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
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
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
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
program.
|
|
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,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 @@
|
|
|
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 {};
|