@abp/ng.schematics 10.5.0-rc.4 → 10.6.0-rc.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.
- package/commands/ai-config/index.d.ts +3 -3
- package/commands/ai-config/index.js +88 -88
- package/commands/ai-config/index.js.map +1 -1
- package/commands/ai-config/model.d.ts +10 -10
- package/commands/ai-config/model.js +2 -2
- package/commands/api/files-service/proxy/__namespace@dir__/__name@kebab__.service.ts.template +6 -4
- package/commands/api/index.d.ts +2 -2
- package/commands/api/index.js +139 -138
- package/commands/api/index.js.map +1 -1
- package/commands/change-theme/index.d.ts +28 -28
- package/commands/change-theme/index.js +474 -473
- package/commands/change-theme/index.js.map +1 -1
- package/commands/change-theme/model.d.ts +5 -5
- package/commands/change-theme/model.js +2 -2
- package/commands/change-theme/style-map.d.ts +16 -16
- package/commands/change-theme/style-map.js +424 -424
- package/commands/change-theme/theme-options.enum.d.ts +6 -6
- package/commands/change-theme/theme-options.enum.js +11 -11
- package/commands/change-theme/theme-options.enum.js.map +1 -1
- package/commands/create-lib/index.d.ts +13 -13
- package/commands/create-lib/index.js +298 -298
- package/commands/create-lib/index.js.map +1 -1
- package/commands/create-lib/models/generate-lib-schema.d.ts +20 -20
- package/commands/create-lib/models/generate-lib-schema.js +8 -8
- package/commands/create-lib/models/generate-lib-schema.js.map +1 -1
- package/commands/create-lib/models/index.d.ts +1 -1
- package/commands/create-lib/models/index.js +4 -17
- package/commands/create-lib/models/index.js.map +1 -1
- package/commands/proxy-add/index.d.ts +2 -2
- package/commands/proxy-add/index.js +41 -41
- package/commands/proxy-add/index.js.map +1 -1
- package/commands/proxy-index/index.d.ts +5 -5
- package/commands/proxy-index/index.js +14 -14
- package/commands/proxy-index/index.js.map +1 -1
- package/commands/proxy-refresh/index.d.ts +3 -3
- package/commands/proxy-refresh/index.js +27 -27
- package/commands/proxy-refresh/index.js.map +1 -1
- package/commands/proxy-remove/index.d.ts +3 -3
- package/commands/proxy-remove/index.js +33 -33
- package/commands/proxy-remove/index.js.map +1 -1
- package/commands/ssr-add/index.d.ts +11 -11
- package/commands/ssr-add/index.js +360 -361
- package/commands/ssr-add/index.js.map +1 -1
- package/commands/ssr-add/server/index.d.ts +10 -10
- package/commands/ssr-add/server/index.js +209 -205
- package/commands/ssr-add/server/index.js.map +1 -1
- package/commands/ssr-add/server/index.ts +6 -2
- package/constants/api.d.ts +1 -1
- package/constants/api.js +4 -4
- package/constants/index.d.ts +4 -4
- package/constants/index.js +7 -20
- package/constants/index.js.map +1 -1
- package/constants/proxy.d.ts +4 -4
- package/constants/proxy.js +7 -7
- package/constants/symbols.d.ts +1 -1
- package/constants/symbols.js +4 -4
- package/constants/system-types.d.ts +1 -1
- package/constants/system-types.js +29 -29
- package/constants/volo.d.ts +5 -5
- package/constants/volo.js +34 -34
- package/enums/binding-source-id.d.ts +8 -7
- package/enums/binding-source-id.js +12 -11
- package/enums/binding-source-id.js.map +1 -1
- package/enums/exception.d.ts +17 -17
- package/enums/exception.js +2 -2
- package/enums/import-keyword.d.ts +4 -4
- package/enums/import-keyword.js +8 -8
- package/enums/import-keyword.js.map +1 -1
- package/enums/index.d.ts +5 -5
- package/enums/index.js +8 -21
- package/enums/index.js.map +1 -1
- package/enums/method-modifier.d.ts +6 -6
- package/enums/method-modifier.js +10 -10
- package/enums/method-modifier.js.map +1 -1
- package/enums/service-types.d.ts +6 -6
- package/enums/service-types.js +10 -10
- package/enums/service-types.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.js +6 -19
- package/index.js.map +1 -1
- package/models/api-definition.d.ts +97 -93
- package/models/api-definition.js +2 -2
- package/models/generate-proxy-schema.d.ts +28 -28
- package/models/generate-proxy-schema.js +2 -2
- package/models/import.d.ts +11 -11
- package/models/import.js +13 -13
- package/models/index.d.ts +11 -11
- package/models/index.js +14 -27
- package/models/index.js.map +1 -1
- package/models/method.d.ts +36 -34
- package/models/method.js +73 -70
- package/models/method.js.map +1 -1
- package/models/model.d.ts +48 -48
- package/models/model.js +76 -76
- package/models/model.js.map +1 -1
- package/models/project.d.ts +5 -5
- package/models/project.js +2 -2
- package/models/proxy-config.d.ts +4 -4
- package/models/proxy-config.js +2 -2
- package/models/rule.d.ts +2 -2
- package/models/rule.js +2 -2
- package/models/service.d.ts +21 -21
- package/models/service.js +11 -11
- package/models/tree.d.ts +1 -1
- package/models/tree.js +2 -2
- package/models/util.d.ts +7 -7
- package/models/util.js +2 -2
- package/package.json +6 -6
- package/utils/angular/add-declaration-to-ng-module.d.ts +20 -20
- package/utils/angular/add-declaration-to-ng-module.js +45 -45
- package/utils/angular/add-declaration-to-ng-module.js.map +1 -1
- package/utils/angular/ast-utils.d.ts +106 -106
- package/utils/angular/ast-utils.js +518 -518
- package/utils/angular/ast-utils.js.map +1 -1
- package/utils/angular/change.d.ts +68 -68
- package/utils/angular/change.js +121 -121
- package/utils/angular/change.js.map +1 -1
- package/utils/angular/dependencies.d.ts +23 -23
- package/utils/angular/dependencies.js +56 -56
- package/utils/angular/dependencies.js.map +1 -1
- package/utils/angular/dependency.d.ts +96 -96
- package/utils/angular/dependency.js +123 -122
- package/utils/angular/dependency.js.map +1 -1
- package/utils/angular/eol.d.ts +8 -8
- package/utils/angular/eol.js +22 -23
- package/utils/angular/eol.js.map +1 -1
- package/utils/angular/find-module.d.ts +33 -33
- package/utils/angular/find-module.js +105 -105
- package/utils/angular/find-module.js.map +1 -1
- package/utils/angular/generate-from-files.d.ts +19 -19
- package/utils/angular/generate-from-files.js +48 -49
- package/utils/angular/generate-from-files.js.map +1 -1
- package/utils/angular/index.d.ts +15 -15
- package/utils/angular/index.js +18 -31
- package/utils/angular/index.js.map +1 -1
- package/utils/angular/json-file.d.ts +24 -24
- package/utils/angular/json-file.js +71 -71
- package/utils/angular/json-file.js.map +1 -1
- package/utils/angular/latest-versions/index.d.ts +28 -28
- package/utils/angular/latest-versions/index.js +31 -31
- package/utils/angular/ng-ast-utils.d.ts +12 -12
- package/utils/angular/ng-ast-utils.js +79 -79
- package/utils/angular/ng-ast-utils.js.map +1 -1
- package/utils/angular/parse-name.d.ts +13 -13
- package/utils/angular/parse-name.js +19 -20
- package/utils/angular/parse-name.js.map +1 -1
- package/utils/angular/paths.d.ts +8 -8
- package/utils/angular/paths.js +17 -18
- package/utils/angular/paths.js.map +1 -1
- package/utils/angular/project-targets.d.ts +11 -11
- package/utils/angular/project-targets.js +21 -22
- package/utils/angular/project-targets.js.map +1 -1
- package/utils/angular/standalone/app_component.d.ts +29 -29
- package/utils/angular/standalone/app_component.js +107 -107
- package/utils/angular/standalone/app_component.js.map +1 -1
- package/utils/angular/standalone/app_config.d.ts +23 -23
- package/utils/angular/standalone/app_config.js +89 -89
- package/utils/angular/standalone/app_config.js.map +1 -1
- package/utils/angular/standalone/code_block.d.ts +53 -53
- package/utils/angular/standalone/code_block.js +80 -79
- package/utils/angular/standalone/code_block.js.map +1 -1
- package/utils/angular/standalone/index.d.ts +9 -9
- package/utils/angular/standalone/index.js +13 -13
- package/utils/angular/standalone/rules.d.ts +45 -45
- package/utils/angular/standalone/rules.js +187 -188
- package/utils/angular/standalone/rules.js.map +1 -1
- package/utils/angular/standalone/util.d.ts +35 -35
- package/utils/angular/standalone/util.js +135 -135
- package/utils/angular/standalone/util.js.map +1 -1
- package/utils/angular/test/create-app-module.d.ts +9 -9
- package/utils/angular/test/create-app-module.js +14 -15
- package/utils/angular/test/create-app-module.js.map +1 -1
- package/utils/angular/test/get-file-content.d.ts +9 -9
- package/utils/angular/test/get-file-content.js +17 -18
- package/utils/angular/test/get-file-content.js.map +1 -1
- package/utils/angular/test/index.d.ts +9 -9
- package/utils/angular/test/index.js +12 -25
- package/utils/angular/test/index.js.map +1 -1
- package/utils/angular/validation.d.ts +10 -10
- package/utils/angular/validation.js +28 -28
- package/utils/angular/validation.js.map +1 -1
- package/utils/angular/workspace-models.d.ts +167 -167
- package/utils/angular/workspace-models.js +43 -43
- package/utils/angular/workspace-models.js.map +1 -1
- package/utils/angular/workspace.d.ts +65 -65
- package/utils/angular/workspace.js +135 -135
- package/utils/angular/workspace.js.map +1 -1
- package/utils/angular-schematic/generate-lib.d.ts +3 -3
- package/utils/angular-schematic/generate-lib.js +52 -53
- package/utils/angular-schematic/generate-lib.js.map +1 -1
- package/utils/angular-schematic/index.d.ts +1 -1
- package/utils/angular-schematic/index.js +4 -17
- package/utils/angular-schematic/index.js.map +1 -1
- package/utils/api.d.ts +2 -2
- package/utils/api.js +7 -8
- package/utils/api.js.map +1 -1
- package/utils/ast.d.ts +5 -5
- package/utils/ast.js +28 -28
- package/utils/ast.js.map +1 -1
- package/utils/barrel.d.ts +4 -4
- package/utils/barrel.js +86 -87
- package/utils/barrel.js.map +1 -1
- package/utils/common.d.ts +11 -11
- package/utils/common.js +78 -78
- package/utils/common.js.map +1 -1
- package/utils/enum.d.ts +18 -18
- package/utils/enum.js +39 -40
- package/utils/enum.js.map +1 -1
- package/utils/file.d.ts +2 -2
- package/utils/file.js +8 -9
- package/utils/file.js.map +1 -1
- package/utils/generics.d.ts +26 -26
- package/utils/generics.js +89 -89
- package/utils/generics.js.map +1 -1
- package/utils/import.d.ts +3 -3
- package/utils/import.js +10 -11
- package/utils/import.js.map +1 -1
- package/utils/index.d.ts +22 -22
- package/utils/index.js +25 -38
- package/utils/index.js.map +1 -1
- package/utils/methods.d.ts +4 -4
- package/utils/methods.js +31 -29
- package/utils/methods.js.map +1 -1
- package/utils/model.d.ts +14 -14
- package/utils/model.js +217 -211
- package/utils/model.js.map +1 -1
- package/utils/namespace.d.ts +1 -1
- package/utils/namespace.js +17 -18
- package/utils/namespace.js.map +1 -1
- package/utils/ng-module.d.ts +46 -46
- package/utils/ng-module.js +126 -125
- package/utils/ng-module.js.map +1 -1
- package/utils/path.d.ts +2 -2
- package/utils/path.js +35 -36
- package/utils/path.js.map +1 -1
- package/utils/rule.d.ts +4 -4
- package/utils/rule.js +32 -33
- package/utils/rule.js.map +1 -1
- package/utils/service.d.ts +8 -8
- package/utils/service.js +280 -171
- package/utils/service.js.map +1 -1
- package/utils/source.d.ts +13 -13
- package/utils/source.js +165 -165
- package/utils/source.js.map +1 -1
- package/utils/standalone.d.ts +59 -59
- package/utils/standalone.js +146 -145
- package/utils/standalone.js.map +1 -1
- package/utils/text.d.ts +10 -10
- package/utils/text.js +59 -59
- package/utils/text.js.map +1 -1
- package/utils/tree.d.ts +14 -14
- package/utils/tree.js +83 -83
- package/utils/tree.js.map +1 -1
- package/utils/type.d.ts +13 -13
- package/utils/type.js +112 -113
- package/utils/type.js.map +1 -1
- package/utils/workspace.d.ts +20 -20
- package/utils/workspace.js +113 -114
- package/utils/workspace.js.map +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { AiConfigSchema } from './model';
|
|
3
|
-
export default function (options: AiConfigSchema): Rule;
|
|
1
|
+
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
import { AiConfigSchema } from './model';
|
|
3
|
+
export default function (options: AiConfigSchema): Rule;
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
console.log('');
|
|
11
|
-
console.log('
|
|
12
|
-
console.log('
|
|
13
|
-
console.log(' ng g @abp/ng.schematics:ai-config --tool=
|
|
14
|
-
console.log(' ng g @abp/ng.schematics:ai-config --tool=
|
|
15
|
-
console.log(' ng g @abp/ng.schematics:ai-config --tool=gemini --
|
|
16
|
-
console.log('');
|
|
17
|
-
console.log('
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
console.log(
|
|
42
|
-
console.log(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
console.log('
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function generateConfigForTool(tool, targetPath, overwrite) {
|
|
61
|
-
return (tree) => {
|
|
62
|
-
const configPath = getConfigPath(tool, targetPath);
|
|
63
|
-
if (tree.exists(configPath) && !overwrite) {
|
|
64
|
-
console.log(`⚠️ Configuration file already exists: ${configPath}`);
|
|
65
|
-
console.log(` Use --overwrite flag to replace existing files.`);
|
|
66
|
-
return tree;
|
|
67
|
-
}
|
|
68
|
-
const sourceDir = `./files/${tool}`;
|
|
69
|
-
const source = (0, schematics_1.apply)((0, schematics_1.url)(sourceDir), [
|
|
70
|
-
(0, schematics_1.filter)(path => {
|
|
71
|
-
return !path.endsWith('.DS_Store');
|
|
72
|
-
}),
|
|
73
|
-
]);
|
|
74
|
-
return (0, schematics_1.mergeWith)(source, overwrite ? schematics_1.MergeStrategy.Overwrite : schematics_1.MergeStrategy.Default);
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
function getConfigPath(tool, basePath) {
|
|
78
|
-
const configFiles = {
|
|
79
|
-
claude: '.claude/CLAUDE.md',
|
|
80
|
-
copilot: '.github/copilot-instructions.md',
|
|
81
|
-
cursor: '.cursor/rules/cursor.mdc',
|
|
82
|
-
gemini: '.gemini/GEMINI.md',
|
|
83
|
-
junie: '.junie/guidelines.md',
|
|
84
|
-
windsurf: '.windsurf/rules/guidelines.md',
|
|
85
|
-
};
|
|
86
|
-
const configFile = configFiles[tool];
|
|
87
|
-
return (0, core_1.join)((0, core_1.normalize)(basePath), configFile);
|
|
88
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = default_1;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const core_1 = require("@angular-devkit/core");
|
|
6
|
+
const utils_1 = require("../../utils");
|
|
7
|
+
function default_1(options) {
|
|
8
|
+
return async (tree) => {
|
|
9
|
+
if (!options.tool || options.tool.trim() === '') {
|
|
10
|
+
console.log('ℹ️ No AI tools selected. Skipping configuration generation.');
|
|
11
|
+
console.log('');
|
|
12
|
+
console.log('💡 Usage examples:');
|
|
13
|
+
console.log(' ng g @abp/ng.schematics:ai-config --tool=claude,cursor');
|
|
14
|
+
console.log(' ng g @abp/ng.schematics:ai-config --tool="claude, cursor"');
|
|
15
|
+
console.log(' ng g @abp/ng.schematics:ai-config --tool=gemini --tool=cursor');
|
|
16
|
+
console.log(' ng g @abp/ng.schematics:ai-config --tool=gemini --target-project=my-app');
|
|
17
|
+
console.log('');
|
|
18
|
+
console.log('Available tools: claude, copilot, cursor, gemini, junie, windsurf');
|
|
19
|
+
return tree;
|
|
20
|
+
}
|
|
21
|
+
const tools = options.tool.split(/[\s,]+/).filter(t => t);
|
|
22
|
+
const validTools = ['claude', 'copilot', 'cursor', 'gemini', 'junie', 'windsurf'];
|
|
23
|
+
const invalidTools = tools.filter(tool => !validTools.includes(tool));
|
|
24
|
+
if (invalidTools.length > 0) {
|
|
25
|
+
throw new schematics_1.SchematicsException(`Invalid AI tool(s): ${invalidTools.join(', ')}. Valid options are: ${validTools.join(', ')}`);
|
|
26
|
+
}
|
|
27
|
+
if (tools.length === 0) {
|
|
28
|
+
console.log('ℹ️ No AI tools selected. Skipping configuration generation.');
|
|
29
|
+
return tree;
|
|
30
|
+
}
|
|
31
|
+
const workspace = await (0, utils_1.getWorkspace)(tree);
|
|
32
|
+
let targetPath = '/';
|
|
33
|
+
if (options.targetProject) {
|
|
34
|
+
const trimmedTargetProject = options.targetProject.trim();
|
|
35
|
+
const project = workspace.projects.get(trimmedTargetProject);
|
|
36
|
+
if (!project) {
|
|
37
|
+
throw new schematics_1.SchematicsException(`Project "${trimmedTargetProject}" not found in workspace.`);
|
|
38
|
+
}
|
|
39
|
+
targetPath = (0, core_1.normalize)(project.root);
|
|
40
|
+
}
|
|
41
|
+
console.log('🚀 Generating AI configuration files...');
|
|
42
|
+
console.log(`📁 Target path: ${targetPath}`);
|
|
43
|
+
console.log(`🤖 Selected tools: ${tools.join(', ')}`);
|
|
44
|
+
const rules = tools.map(tool => generateConfigForTool(tool, targetPath, options.overwrite || false));
|
|
45
|
+
return (0, schematics_1.chain)([
|
|
46
|
+
...rules,
|
|
47
|
+
(tree) => {
|
|
48
|
+
console.log('✅ AI configuration files generated successfully!');
|
|
49
|
+
console.log('\n📝 Generated files:');
|
|
50
|
+
tools.forEach(tool => {
|
|
51
|
+
const configPath = getConfigPath(tool, targetPath);
|
|
52
|
+
console.log(` - ${configPath}`);
|
|
53
|
+
});
|
|
54
|
+
console.log('\n💡 Tip: Restart your IDE or AI tool to apply the new configurations.');
|
|
55
|
+
return tree;
|
|
56
|
+
},
|
|
57
|
+
]);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function generateConfigForTool(tool, targetPath, overwrite) {
|
|
61
|
+
return (tree) => {
|
|
62
|
+
const configPath = getConfigPath(tool, targetPath);
|
|
63
|
+
if (tree.exists(configPath) && !overwrite) {
|
|
64
|
+
console.log(`⚠️ Configuration file already exists: ${configPath}`);
|
|
65
|
+
console.log(` Use --overwrite flag to replace existing files.`);
|
|
66
|
+
return tree;
|
|
67
|
+
}
|
|
68
|
+
const sourceDir = `./files/${tool}`;
|
|
69
|
+
const source = (0, schematics_1.apply)((0, schematics_1.url)(sourceDir), [
|
|
70
|
+
(0, schematics_1.filter)(path => {
|
|
71
|
+
return !path.endsWith('.DS_Store');
|
|
72
|
+
}),
|
|
73
|
+
]);
|
|
74
|
+
return (0, schematics_1.mergeWith)(source, overwrite ? schematics_1.MergeStrategy.Overwrite : schematics_1.MergeStrategy.Default);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function getConfigPath(tool, basePath) {
|
|
78
|
+
const configFiles = {
|
|
79
|
+
claude: '.claude/CLAUDE.md',
|
|
80
|
+
copilot: '.github/copilot-instructions.md',
|
|
81
|
+
cursor: '.cursor/rules/cursor.mdc',
|
|
82
|
+
gemini: '.gemini/GEMINI.md',
|
|
83
|
+
junie: '.junie/guidelines.md',
|
|
84
|
+
windsurf: '.windsurf/rules/guidelines.md',
|
|
85
|
+
};
|
|
86
|
+
const configFile = configFiles[tool];
|
|
87
|
+
return (0, core_1.join)((0, core_1.normalize)(basePath), configFile);
|
|
88
|
+
}
|
|
89
89
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/schematics/src/commands/ai-config/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/schematics/src/commands/ai-config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export
|
|
2
|
-
export interface AiConfigSchema {
|
|
3
|
-
tool?: string;
|
|
4
|
-
targetProject?: string;
|
|
5
|
-
overwrite?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface AiConfigFile {
|
|
8
|
-
path: string;
|
|
9
|
-
content: string;
|
|
10
|
-
}
|
|
1
|
+
export type AiTool = 'claude' | 'copilot' | 'cursor' | 'gemini' | 'junie' | 'windsurf';
|
|
2
|
+
export interface AiConfigSchema {
|
|
3
|
+
tool?: string;
|
|
4
|
+
targetProject?: string;
|
|
5
|
+
overwrite?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface AiConfigFile {
|
|
8
|
+
path: string;
|
|
9
|
+
content: string;
|
|
10
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=model.js.map
|
package/commands/api/files-service/proxy/__namespace@dir__/__name@kebab__.service.ts.template
CHANGED
|
@@ -11,15 +11,17 @@ export class <%= name %>Service {
|
|
|
11
11
|
<%
|
|
12
12
|
const isBlob = body.isBlobMethod() ;
|
|
13
13
|
const responseType = isBlob ? "Blob":body.responseType;
|
|
14
|
+
const httpResponseType = body.httpResponseType;
|
|
15
|
+
const acceptHeader = body.acceptHeader;
|
|
14
16
|
%>
|
|
15
17
|
|
|
16
18
|
<%= camel(signature.name) %> = (<%= serializeParameters(signature.parameters) %>) =>
|
|
17
19
|
this.restService.request<<%= body.requestType %>, <%= responseType %>>({
|
|
18
20
|
method: '<%= body.method %>',<%
|
|
19
|
-
if (
|
|
20
|
-
responseType: '
|
|
21
|
-
if (
|
|
22
|
-
|
|
21
|
+
if (httpResponseType && httpResponseType !== 'json') { %>
|
|
22
|
+
responseType: '<%= httpResponseType %>',<% } %><%
|
|
23
|
+
if (acceptHeader) { %>
|
|
24
|
+
headers: { Accept: '<%= acceptHeader %>' },<% } %>
|
|
23
25
|
url: <%= body.url %>,<%
|
|
24
26
|
if (body.dictParamVar && !body.params.length) { %>
|
|
25
27
|
params: <%= body.dictParamVar %>,<% } %><%
|
package/commands/api/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { GenerateProxySchema } from '../../models';
|
|
2
|
-
export default function (schema: GenerateProxySchema): import("@angular-devkit/schematics").Rule;
|
|
1
|
+
import { GenerateProxySchema } from '../../models';
|
|
2
|
+
export default function (schema: GenerateProxySchema): import("@angular-devkit/schematics").Rule;
|
package/commands/api/index.js
CHANGED
|
@@ -1,139 +1,140 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
...(0, utils_1.getEnumNamesFromImports)(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
...
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
models.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
...
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
service
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = default_1;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@angular-devkit/core");
|
|
6
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
7
|
+
const enums_1 = require("../../enums");
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
9
|
+
const cases = tslib_1.__importStar(require("../../utils/text"));
|
|
10
|
+
function default_1(schema) {
|
|
11
|
+
const params = (0, utils_1.removeDefaultPlaceholders)(schema);
|
|
12
|
+
const moduleName = params.module || 'app';
|
|
13
|
+
return (0, schematics_1.chain)([
|
|
14
|
+
async (tree) => {
|
|
15
|
+
const getRootNamespace = (0, utils_1.createRootNamespaceGetter)(params);
|
|
16
|
+
const solution = await getRootNamespace(tree);
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
18
|
+
const target = await (0, utils_1.resolveProject)(tree, params.target);
|
|
19
|
+
const targetPath = (0, utils_1.buildTargetPath)(target.definition, params.entryPoint);
|
|
20
|
+
const readProxyConfig = (0, utils_1.createProxyConfigReader)(targetPath);
|
|
21
|
+
const createProxyConfigWriter = (0, utils_1.createProxyConfigWriterCreator)(targetPath);
|
|
22
|
+
const data = readProxyConfig(tree);
|
|
23
|
+
data.types = (0, utils_1.sanitizeTypeNames)(data.types);
|
|
24
|
+
(0, utils_1.resolveSelfGenericProps)({ solution, types: data.types });
|
|
25
|
+
const types = data.types;
|
|
26
|
+
const modules = data.modules;
|
|
27
|
+
const serviceType = schema.serviceType || enums_1.defaultEServiceType;
|
|
28
|
+
if (!types || !modules) {
|
|
29
|
+
throw new schematics_1.SchematicsException("[Invalid API Definition] The provided API definition is invalid." /* Exception.InvalidApiDefinition */);
|
|
30
|
+
}
|
|
31
|
+
const definition = data.modules[moduleName];
|
|
32
|
+
if (!definition) {
|
|
33
|
+
throw new schematics_1.SchematicsException((0, utils_1.interpolate)("[Invalid Module] Backend module \"{0}\" does not exist in API definition." /* Exception.InvalidModule */, moduleName));
|
|
34
|
+
}
|
|
35
|
+
const apiName = definition.remoteServiceName;
|
|
36
|
+
data.modules[moduleName].controllers = (0, utils_1.sanitizeControllerTypeNames)(definition.controllers);
|
|
37
|
+
const controllers = filterControllersByServiceType(serviceType, data.modules[moduleName].controllers);
|
|
38
|
+
const serviceImports = {};
|
|
39
|
+
const generateServices = createServiceGenerator({
|
|
40
|
+
targetPath,
|
|
41
|
+
solution,
|
|
42
|
+
types,
|
|
43
|
+
apiName,
|
|
44
|
+
controllers,
|
|
45
|
+
serviceImports,
|
|
46
|
+
});
|
|
47
|
+
const modelImports = {};
|
|
48
|
+
const generateModels = createModelGenerator({
|
|
49
|
+
targetPath,
|
|
50
|
+
solution,
|
|
51
|
+
types,
|
|
52
|
+
serviceImports,
|
|
53
|
+
modelImports,
|
|
54
|
+
});
|
|
55
|
+
const generateEnums = createEnumGenerator({
|
|
56
|
+
targetPath,
|
|
57
|
+
solution,
|
|
58
|
+
types,
|
|
59
|
+
serviceImports,
|
|
60
|
+
modelImports,
|
|
61
|
+
});
|
|
62
|
+
if (!data.generated.includes(moduleName)) {
|
|
63
|
+
data.generated.push(moduleName);
|
|
64
|
+
}
|
|
65
|
+
data.generated.sort();
|
|
66
|
+
const json = (0, utils_1.generateProxyConfigJson)(data);
|
|
67
|
+
const overwriteProxyConfig = createProxyConfigWriter('overwrite', json);
|
|
68
|
+
return (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([generateServices, generateModels, generateEnums, overwriteProxyConfig]));
|
|
69
|
+
},
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
function createEnumGenerator(params) {
|
|
73
|
+
const { targetPath, serviceImports, modelImports } = params;
|
|
74
|
+
const mapImportRefToEnum = (0, utils_1.createImportRefToEnumMapper)(params);
|
|
75
|
+
const enumRefs = [
|
|
76
|
+
...new Set([
|
|
77
|
+
...(0, utils_1.getEnumNamesFromImports)(serviceImports),
|
|
78
|
+
...(0, utils_1.getEnumNamesFromImports)(modelImports),
|
|
79
|
+
]),
|
|
80
|
+
];
|
|
81
|
+
return (0, schematics_1.chain)(enumRefs.map(ref => {
|
|
82
|
+
return (0, utils_1.applyWithOverwrite)((0, schematics_1.url)('./files-enum'), [
|
|
83
|
+
(0, schematics_1.applyTemplates)({
|
|
84
|
+
...cases,
|
|
85
|
+
...mapImportRefToEnum(ref),
|
|
86
|
+
}),
|
|
87
|
+
(0, schematics_1.move)((0, core_1.normalize)(targetPath)),
|
|
88
|
+
]);
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
function createModelGenerator(params) {
|
|
92
|
+
const { targetPath, serviceImports, modelImports } = params;
|
|
93
|
+
const reduceImportRefsToModels = (0, utils_1.createImportRefsToModelReducer)(params);
|
|
94
|
+
const models = Object.values(serviceImports).reduce(reduceImportRefsToModels, []);
|
|
95
|
+
models.forEach(({ imports }) => imports.forEach(({ refs, path }) => refs.forEach(ref => {
|
|
96
|
+
if (path === '@abp/ng.core') {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (!modelImports[path]) {
|
|
100
|
+
return (modelImports[path] = [ref]);
|
|
101
|
+
}
|
|
102
|
+
modelImports[path] = [...new Set([...modelImports[path], ref])];
|
|
103
|
+
})));
|
|
104
|
+
(0, utils_1.resolveAbpPackages)(models);
|
|
105
|
+
return (0, schematics_1.chain)(models.map(model => (0, utils_1.applyWithOverwrite)((0, schematics_1.url)('./files-model'), [
|
|
106
|
+
(0, schematics_1.applyTemplates)({
|
|
107
|
+
...cases,
|
|
108
|
+
...model,
|
|
109
|
+
}),
|
|
110
|
+
(0, schematics_1.move)((0, core_1.normalize)(targetPath)),
|
|
111
|
+
])));
|
|
112
|
+
}
|
|
113
|
+
function createServiceGenerator(params) {
|
|
114
|
+
const { targetPath, controllers, serviceImports } = params;
|
|
115
|
+
const mapControllerToService = (0, utils_1.createControllerToServiceMapper)(params);
|
|
116
|
+
return (0, schematics_1.chain)(controllers.map(controller => {
|
|
117
|
+
const service = mapControllerToService(controller);
|
|
118
|
+
service.imports.forEach(({ refs, path }) => refs.forEach(ref => {
|
|
119
|
+
if (path === '@abp/ng.core')
|
|
120
|
+
return;
|
|
121
|
+
if (!serviceImports[path])
|
|
122
|
+
return (serviceImports[path] = [ref]);
|
|
123
|
+
serviceImports[path] = [...new Set([...serviceImports[path], ref])];
|
|
124
|
+
}));
|
|
125
|
+
return (0, utils_1.applyWithOverwrite)((0, schematics_1.url)('./files-service'), [
|
|
126
|
+
(0, schematics_1.applyTemplates)({
|
|
127
|
+
...cases,
|
|
128
|
+
serializeParameters: utils_1.serializeParameters,
|
|
129
|
+
...service,
|
|
130
|
+
}),
|
|
131
|
+
(0, schematics_1.move)((0, core_1.normalize)(targetPath)),
|
|
132
|
+
]);
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
function filterControllersByServiceType(serviceType, controllers) {
|
|
136
|
+
const itShouldBeIntegratedService = serviceType === enums_1.eServiceType.Integration;
|
|
137
|
+
const skipFilter = serviceType === enums_1.eServiceType.All;
|
|
138
|
+
return Object.values(controllers || {}).filter(x => x.isIntegrationService === itShouldBeIntegratedService || skipFilter);
|
|
139
|
+
}
|
|
139
140
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/schematics/src/commands/api/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/schematics/src/commands/api/index.ts"],"names":[],"mappings":"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"}
|