@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.
Files changed (259) hide show
  1. package/commands/ai-config/index.d.ts +3 -3
  2. package/commands/ai-config/index.js +88 -88
  3. package/commands/ai-config/index.js.map +1 -1
  4. package/commands/ai-config/model.d.ts +10 -10
  5. package/commands/ai-config/model.js +2 -2
  6. package/commands/api/files-service/proxy/__namespace@dir__/__name@kebab__.service.ts.template +6 -4
  7. package/commands/api/index.d.ts +2 -2
  8. package/commands/api/index.js +139 -138
  9. package/commands/api/index.js.map +1 -1
  10. package/commands/change-theme/index.d.ts +28 -28
  11. package/commands/change-theme/index.js +474 -473
  12. package/commands/change-theme/index.js.map +1 -1
  13. package/commands/change-theme/model.d.ts +5 -5
  14. package/commands/change-theme/model.js +2 -2
  15. package/commands/change-theme/style-map.d.ts +16 -16
  16. package/commands/change-theme/style-map.js +424 -424
  17. package/commands/change-theme/theme-options.enum.d.ts +6 -6
  18. package/commands/change-theme/theme-options.enum.js +11 -11
  19. package/commands/change-theme/theme-options.enum.js.map +1 -1
  20. package/commands/create-lib/index.d.ts +13 -13
  21. package/commands/create-lib/index.js +298 -298
  22. package/commands/create-lib/index.js.map +1 -1
  23. package/commands/create-lib/models/generate-lib-schema.d.ts +20 -20
  24. package/commands/create-lib/models/generate-lib-schema.js +8 -8
  25. package/commands/create-lib/models/generate-lib-schema.js.map +1 -1
  26. package/commands/create-lib/models/index.d.ts +1 -1
  27. package/commands/create-lib/models/index.js +4 -17
  28. package/commands/create-lib/models/index.js.map +1 -1
  29. package/commands/proxy-add/index.d.ts +2 -2
  30. package/commands/proxy-add/index.js +41 -41
  31. package/commands/proxy-add/index.js.map +1 -1
  32. package/commands/proxy-index/index.d.ts +5 -5
  33. package/commands/proxy-index/index.js +14 -14
  34. package/commands/proxy-index/index.js.map +1 -1
  35. package/commands/proxy-refresh/index.d.ts +3 -3
  36. package/commands/proxy-refresh/index.js +27 -27
  37. package/commands/proxy-refresh/index.js.map +1 -1
  38. package/commands/proxy-remove/index.d.ts +3 -3
  39. package/commands/proxy-remove/index.js +33 -33
  40. package/commands/proxy-remove/index.js.map +1 -1
  41. package/commands/ssr-add/index.d.ts +11 -11
  42. package/commands/ssr-add/index.js +360 -361
  43. package/commands/ssr-add/index.js.map +1 -1
  44. package/commands/ssr-add/server/index.d.ts +10 -10
  45. package/commands/ssr-add/server/index.js +209 -205
  46. package/commands/ssr-add/server/index.js.map +1 -1
  47. package/commands/ssr-add/server/index.ts +6 -2
  48. package/constants/api.d.ts +1 -1
  49. package/constants/api.js +4 -4
  50. package/constants/index.d.ts +4 -4
  51. package/constants/index.js +7 -20
  52. package/constants/index.js.map +1 -1
  53. package/constants/proxy.d.ts +4 -4
  54. package/constants/proxy.js +7 -7
  55. package/constants/symbols.d.ts +1 -1
  56. package/constants/symbols.js +4 -4
  57. package/constants/system-types.d.ts +1 -1
  58. package/constants/system-types.js +29 -29
  59. package/constants/volo.d.ts +5 -5
  60. package/constants/volo.js +34 -34
  61. package/enums/binding-source-id.d.ts +8 -7
  62. package/enums/binding-source-id.js +12 -11
  63. package/enums/binding-source-id.js.map +1 -1
  64. package/enums/exception.d.ts +17 -17
  65. package/enums/exception.js +2 -2
  66. package/enums/import-keyword.d.ts +4 -4
  67. package/enums/import-keyword.js +8 -8
  68. package/enums/import-keyword.js.map +1 -1
  69. package/enums/index.d.ts +5 -5
  70. package/enums/index.js +8 -21
  71. package/enums/index.js.map +1 -1
  72. package/enums/method-modifier.d.ts +6 -6
  73. package/enums/method-modifier.js +10 -10
  74. package/enums/method-modifier.js.map +1 -1
  75. package/enums/service-types.d.ts +6 -6
  76. package/enums/service-types.js +10 -10
  77. package/enums/service-types.js.map +1 -1
  78. package/index.d.ts +3 -3
  79. package/index.js +6 -19
  80. package/index.js.map +1 -1
  81. package/models/api-definition.d.ts +97 -93
  82. package/models/api-definition.js +2 -2
  83. package/models/generate-proxy-schema.d.ts +28 -28
  84. package/models/generate-proxy-schema.js +2 -2
  85. package/models/import.d.ts +11 -11
  86. package/models/import.js +13 -13
  87. package/models/index.d.ts +11 -11
  88. package/models/index.js +14 -27
  89. package/models/index.js.map +1 -1
  90. package/models/method.d.ts +36 -34
  91. package/models/method.js +73 -70
  92. package/models/method.js.map +1 -1
  93. package/models/model.d.ts +48 -48
  94. package/models/model.js +76 -76
  95. package/models/model.js.map +1 -1
  96. package/models/project.d.ts +5 -5
  97. package/models/project.js +2 -2
  98. package/models/proxy-config.d.ts +4 -4
  99. package/models/proxy-config.js +2 -2
  100. package/models/rule.d.ts +2 -2
  101. package/models/rule.js +2 -2
  102. package/models/service.d.ts +21 -21
  103. package/models/service.js +11 -11
  104. package/models/tree.d.ts +1 -1
  105. package/models/tree.js +2 -2
  106. package/models/util.d.ts +7 -7
  107. package/models/util.js +2 -2
  108. package/package.json +6 -6
  109. package/utils/angular/add-declaration-to-ng-module.d.ts +20 -20
  110. package/utils/angular/add-declaration-to-ng-module.js +45 -45
  111. package/utils/angular/add-declaration-to-ng-module.js.map +1 -1
  112. package/utils/angular/ast-utils.d.ts +106 -106
  113. package/utils/angular/ast-utils.js +518 -518
  114. package/utils/angular/ast-utils.js.map +1 -1
  115. package/utils/angular/change.d.ts +68 -68
  116. package/utils/angular/change.js +121 -121
  117. package/utils/angular/change.js.map +1 -1
  118. package/utils/angular/dependencies.d.ts +23 -23
  119. package/utils/angular/dependencies.js +56 -56
  120. package/utils/angular/dependencies.js.map +1 -1
  121. package/utils/angular/dependency.d.ts +96 -96
  122. package/utils/angular/dependency.js +123 -122
  123. package/utils/angular/dependency.js.map +1 -1
  124. package/utils/angular/eol.d.ts +8 -8
  125. package/utils/angular/eol.js +22 -23
  126. package/utils/angular/eol.js.map +1 -1
  127. package/utils/angular/find-module.d.ts +33 -33
  128. package/utils/angular/find-module.js +105 -105
  129. package/utils/angular/find-module.js.map +1 -1
  130. package/utils/angular/generate-from-files.d.ts +19 -19
  131. package/utils/angular/generate-from-files.js +48 -49
  132. package/utils/angular/generate-from-files.js.map +1 -1
  133. package/utils/angular/index.d.ts +15 -15
  134. package/utils/angular/index.js +18 -31
  135. package/utils/angular/index.js.map +1 -1
  136. package/utils/angular/json-file.d.ts +24 -24
  137. package/utils/angular/json-file.js +71 -71
  138. package/utils/angular/json-file.js.map +1 -1
  139. package/utils/angular/latest-versions/index.d.ts +28 -28
  140. package/utils/angular/latest-versions/index.js +31 -31
  141. package/utils/angular/ng-ast-utils.d.ts +12 -12
  142. package/utils/angular/ng-ast-utils.js +79 -79
  143. package/utils/angular/ng-ast-utils.js.map +1 -1
  144. package/utils/angular/parse-name.d.ts +13 -13
  145. package/utils/angular/parse-name.js +19 -20
  146. package/utils/angular/parse-name.js.map +1 -1
  147. package/utils/angular/paths.d.ts +8 -8
  148. package/utils/angular/paths.js +17 -18
  149. package/utils/angular/paths.js.map +1 -1
  150. package/utils/angular/project-targets.d.ts +11 -11
  151. package/utils/angular/project-targets.js +21 -22
  152. package/utils/angular/project-targets.js.map +1 -1
  153. package/utils/angular/standalone/app_component.d.ts +29 -29
  154. package/utils/angular/standalone/app_component.js +107 -107
  155. package/utils/angular/standalone/app_component.js.map +1 -1
  156. package/utils/angular/standalone/app_config.d.ts +23 -23
  157. package/utils/angular/standalone/app_config.js +89 -89
  158. package/utils/angular/standalone/app_config.js.map +1 -1
  159. package/utils/angular/standalone/code_block.d.ts +53 -53
  160. package/utils/angular/standalone/code_block.js +80 -79
  161. package/utils/angular/standalone/code_block.js.map +1 -1
  162. package/utils/angular/standalone/index.d.ts +9 -9
  163. package/utils/angular/standalone/index.js +13 -13
  164. package/utils/angular/standalone/rules.d.ts +45 -45
  165. package/utils/angular/standalone/rules.js +187 -188
  166. package/utils/angular/standalone/rules.js.map +1 -1
  167. package/utils/angular/standalone/util.d.ts +35 -35
  168. package/utils/angular/standalone/util.js +135 -135
  169. package/utils/angular/standalone/util.js.map +1 -1
  170. package/utils/angular/test/create-app-module.d.ts +9 -9
  171. package/utils/angular/test/create-app-module.js +14 -15
  172. package/utils/angular/test/create-app-module.js.map +1 -1
  173. package/utils/angular/test/get-file-content.d.ts +9 -9
  174. package/utils/angular/test/get-file-content.js +17 -18
  175. package/utils/angular/test/get-file-content.js.map +1 -1
  176. package/utils/angular/test/index.d.ts +9 -9
  177. package/utils/angular/test/index.js +12 -25
  178. package/utils/angular/test/index.js.map +1 -1
  179. package/utils/angular/validation.d.ts +10 -10
  180. package/utils/angular/validation.js +28 -28
  181. package/utils/angular/validation.js.map +1 -1
  182. package/utils/angular/workspace-models.d.ts +167 -167
  183. package/utils/angular/workspace-models.js +43 -43
  184. package/utils/angular/workspace-models.js.map +1 -1
  185. package/utils/angular/workspace.d.ts +65 -65
  186. package/utils/angular/workspace.js +135 -135
  187. package/utils/angular/workspace.js.map +1 -1
  188. package/utils/angular-schematic/generate-lib.d.ts +3 -3
  189. package/utils/angular-schematic/generate-lib.js +52 -53
  190. package/utils/angular-schematic/generate-lib.js.map +1 -1
  191. package/utils/angular-schematic/index.d.ts +1 -1
  192. package/utils/angular-schematic/index.js +4 -17
  193. package/utils/angular-schematic/index.js.map +1 -1
  194. package/utils/api.d.ts +2 -2
  195. package/utils/api.js +7 -8
  196. package/utils/api.js.map +1 -1
  197. package/utils/ast.d.ts +5 -5
  198. package/utils/ast.js +28 -28
  199. package/utils/ast.js.map +1 -1
  200. package/utils/barrel.d.ts +4 -4
  201. package/utils/barrel.js +86 -87
  202. package/utils/barrel.js.map +1 -1
  203. package/utils/common.d.ts +11 -11
  204. package/utils/common.js +78 -78
  205. package/utils/common.js.map +1 -1
  206. package/utils/enum.d.ts +18 -18
  207. package/utils/enum.js +39 -40
  208. package/utils/enum.js.map +1 -1
  209. package/utils/file.d.ts +2 -2
  210. package/utils/file.js +8 -9
  211. package/utils/file.js.map +1 -1
  212. package/utils/generics.d.ts +26 -26
  213. package/utils/generics.js +89 -89
  214. package/utils/generics.js.map +1 -1
  215. package/utils/import.d.ts +3 -3
  216. package/utils/import.js +10 -11
  217. package/utils/import.js.map +1 -1
  218. package/utils/index.d.ts +22 -22
  219. package/utils/index.js +25 -38
  220. package/utils/index.js.map +1 -1
  221. package/utils/methods.d.ts +4 -4
  222. package/utils/methods.js +31 -29
  223. package/utils/methods.js.map +1 -1
  224. package/utils/model.d.ts +14 -14
  225. package/utils/model.js +217 -211
  226. package/utils/model.js.map +1 -1
  227. package/utils/namespace.d.ts +1 -1
  228. package/utils/namespace.js +17 -18
  229. package/utils/namespace.js.map +1 -1
  230. package/utils/ng-module.d.ts +46 -46
  231. package/utils/ng-module.js +126 -125
  232. package/utils/ng-module.js.map +1 -1
  233. package/utils/path.d.ts +2 -2
  234. package/utils/path.js +35 -36
  235. package/utils/path.js.map +1 -1
  236. package/utils/rule.d.ts +4 -4
  237. package/utils/rule.js +32 -33
  238. package/utils/rule.js.map +1 -1
  239. package/utils/service.d.ts +8 -8
  240. package/utils/service.js +280 -171
  241. package/utils/service.js.map +1 -1
  242. package/utils/source.d.ts +13 -13
  243. package/utils/source.js +165 -165
  244. package/utils/source.js.map +1 -1
  245. package/utils/standalone.d.ts +59 -59
  246. package/utils/standalone.js +146 -145
  247. package/utils/standalone.js.map +1 -1
  248. package/utils/text.d.ts +10 -10
  249. package/utils/text.js +59 -59
  250. package/utils/text.js.map +1 -1
  251. package/utils/tree.d.ts +14 -14
  252. package/utils/tree.js +83 -83
  253. package/utils/tree.js.map +1 -1
  254. package/utils/type.d.ts +13 -13
  255. package/utils/type.js +112 -113
  256. package/utils/type.js.map +1 -1
  257. package/utils/workspace.d.ts +20 -20
  258. package/utils/workspace.js +113 -114
  259. 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
- const schematics_1 = require("@angular-devkit/schematics");
4
- const core_1 = require("@angular-devkit/core");
5
- const utils_1 = require("../../utils");
6
- function default_1(options) {
7
- return async (tree) => {
8
- if (!options.tool || options.tool.trim() === '') {
9
- console.log('ℹ️ No AI tools selected. Skipping configuration generation.');
10
- console.log('');
11
- console.log('💡 Usage examples:');
12
- console.log(' ng g @abp/ng.schematics:ai-config --tool=claude,cursor');
13
- console.log(' ng g @abp/ng.schematics:ai-config --tool="claude, cursor"');
14
- console.log(' ng g @abp/ng.schematics:ai-config --tool=gemini --tool=cursor');
15
- console.log(' ng g @abp/ng.schematics:ai-config --tool=gemini --target-project=my-app');
16
- console.log('');
17
- console.log('Available tools: claude, copilot, cursor, gemini, junie, windsurf');
18
- return tree;
19
- }
20
- const tools = options.tool.split(/[\s,]+/).filter(t => t);
21
- const validTools = ['claude', 'copilot', 'cursor', 'gemini', 'junie', 'windsurf'];
22
- const invalidTools = tools.filter(tool => !validTools.includes(tool));
23
- if (invalidTools.length > 0) {
24
- throw new schematics_1.SchematicsException(`Invalid AI tool(s): ${invalidTools.join(', ')}. Valid options are: ${validTools.join(', ')}`);
25
- }
26
- if (tools.length === 0) {
27
- console.log('ℹ️ No AI tools selected. Skipping configuration generation.');
28
- return tree;
29
- }
30
- const workspace = await (0, utils_1.getWorkspace)(tree);
31
- let targetPath = '/';
32
- if (options.targetProject) {
33
- const trimmedTargetProject = options.targetProject.trim();
34
- const project = workspace.projects.get(trimmedTargetProject);
35
- if (!project) {
36
- throw new schematics_1.SchematicsException(`Project "${trimmedTargetProject}" not found in workspace.`);
37
- }
38
- targetPath = (0, core_1.normalize)(project.root);
39
- }
40
- console.log('🚀 Generating AI configuration files...');
41
- console.log(`📁 Target path: ${targetPath}`);
42
- console.log(`🤖 Selected tools: ${tools.join(', ')}`);
43
- const rules = tools.map(tool => generateConfigForTool(tool, targetPath, options.overwrite || false));
44
- return (0, schematics_1.chain)([
45
- ...rules,
46
- (tree) => {
47
- console.log('✅ AI configuration files generated successfully!');
48
- console.log('\n📝 Generated files:');
49
- tools.forEach(tool => {
50
- const configPath = getConfigPath(tool, targetPath);
51
- console.log(` - ${configPath}`);
52
- });
53
- console.log('\n💡 Tip: Restart your IDE or AI tool to apply the new configurations.');
54
- return tree;
55
- },
56
- ]);
57
- };
58
- }
59
- exports.default = default_1;
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":"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"}
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 declare 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
+ 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
@@ -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 (body.responseType === 'string') { %>
20
- responseType: 'text',<% } %><%
21
- if (isBlob) { %>
22
- responseType: 'blob',<% } %>
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 %>,<% } %><%
@@ -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;
@@ -1,139 +1,140 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@angular-devkit/core");
4
- const schematics_1 = require("@angular-devkit/schematics");
5
- const enums_1 = require("../../enums");
6
- const utils_1 = require("../../utils");
7
- const cases = require("../../utils/text");
8
- function default_1(schema) {
9
- const params = (0, utils_1.removeDefaultPlaceholders)(schema);
10
- const moduleName = params.module || 'app';
11
- return (0, schematics_1.chain)([
12
- async (tree) => {
13
- const getRootNamespace = (0, utils_1.createRootNamespaceGetter)(params);
14
- const solution = await getRootNamespace(tree);
15
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
16
- const target = await (0, utils_1.resolveProject)(tree, params.target);
17
- const targetPath = (0, utils_1.buildTargetPath)(target.definition, params.entryPoint);
18
- const readProxyConfig = (0, utils_1.createProxyConfigReader)(targetPath);
19
- const createProxyConfigWriter = (0, utils_1.createProxyConfigWriterCreator)(targetPath);
20
- const data = readProxyConfig(tree);
21
- data.types = (0, utils_1.sanitizeTypeNames)(data.types);
22
- (0, utils_1.resolveSelfGenericProps)({ solution, types: data.types });
23
- const types = data.types;
24
- const modules = data.modules;
25
- const serviceType = schema.serviceType || enums_1.defaultEServiceType;
26
- if (!types || !modules) {
27
- throw new schematics_1.SchematicsException("[Invalid API Definition] The provided API definition is invalid." /* Exception.InvalidApiDefinition */);
28
- }
29
- const definition = data.modules[moduleName];
30
- if (!definition) {
31
- throw new schematics_1.SchematicsException((0, utils_1.interpolate)("[Invalid Module] Backend module \"{0}\" does not exist in API definition." /* Exception.InvalidModule */, moduleName));
32
- }
33
- const apiName = definition.remoteServiceName;
34
- data.modules[moduleName].controllers = (0, utils_1.sanitizeControllerTypeNames)(definition.controllers);
35
- const controllers = filterControllersByServiceType(serviceType, data.modules[moduleName].controllers);
36
- const serviceImports = {};
37
- const generateServices = createServiceGenerator({
38
- targetPath,
39
- solution,
40
- types,
41
- apiName,
42
- controllers,
43
- serviceImports,
44
- });
45
- const modelImports = {};
46
- const generateModels = createModelGenerator({
47
- targetPath,
48
- solution,
49
- types,
50
- serviceImports,
51
- modelImports,
52
- });
53
- const generateEnums = createEnumGenerator({
54
- targetPath,
55
- solution,
56
- types,
57
- serviceImports,
58
- modelImports,
59
- });
60
- if (!data.generated.includes(moduleName)) {
61
- data.generated.push(moduleName);
62
- }
63
- data.generated.sort();
64
- const json = (0, utils_1.generateProxyConfigJson)(data);
65
- const overwriteProxyConfig = createProxyConfigWriter('overwrite', json);
66
- return (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([generateServices, generateModels, generateEnums, overwriteProxyConfig]));
67
- },
68
- ]);
69
- }
70
- exports.default = default_1;
71
- function createEnumGenerator(params) {
72
- const { targetPath, serviceImports, modelImports } = params;
73
- const mapImportRefToEnum = (0, utils_1.createImportRefToEnumMapper)(params);
74
- const enumRefs = [
75
- ...new Set([
76
- ...(0, utils_1.getEnumNamesFromImports)(serviceImports),
77
- ...(0, utils_1.getEnumNamesFromImports)(modelImports),
78
- ]),
79
- ];
80
- return (0, schematics_1.chain)(enumRefs.map(ref => {
81
- return (0, utils_1.applyWithOverwrite)((0, schematics_1.url)('./files-enum'), [
82
- (0, schematics_1.applyTemplates)({
83
- ...cases,
84
- ...mapImportRefToEnum(ref),
85
- }),
86
- (0, schematics_1.move)((0, core_1.normalize)(targetPath)),
87
- ]);
88
- }));
89
- }
90
- function createModelGenerator(params) {
91
- const { targetPath, serviceImports, modelImports } = params;
92
- const reduceImportRefsToModels = (0, utils_1.createImportRefsToModelReducer)(params);
93
- const models = Object.values(serviceImports).reduce(reduceImportRefsToModels, []);
94
- models.forEach(({ imports }) => imports.forEach(({ refs, path }) => refs.forEach(ref => {
95
- if (path === '@abp/ng.core') {
96
- return;
97
- }
98
- if (!modelImports[path]) {
99
- return (modelImports[path] = [ref]);
100
- }
101
- modelImports[path] = [...new Set([...modelImports[path], ref])];
102
- })));
103
- (0, utils_1.resolveAbpPackages)(models);
104
- return (0, schematics_1.chain)(models.map(model => (0, utils_1.applyWithOverwrite)((0, schematics_1.url)('./files-model'), [
105
- (0, schematics_1.applyTemplates)({
106
- ...cases,
107
- ...model,
108
- }),
109
- (0, schematics_1.move)((0, core_1.normalize)(targetPath)),
110
- ])));
111
- }
112
- function createServiceGenerator(params) {
113
- const { targetPath, controllers, serviceImports } = params;
114
- const mapControllerToService = (0, utils_1.createControllerToServiceMapper)(params);
115
- return (0, schematics_1.chain)(controllers.map(controller => {
116
- const service = mapControllerToService(controller);
117
- service.imports.forEach(({ refs, path }) => refs.forEach(ref => {
118
- if (path === '@abp/ng.core')
119
- return;
120
- if (!serviceImports[path])
121
- return (serviceImports[path] = [ref]);
122
- serviceImports[path] = [...new Set([...serviceImports[path], ref])];
123
- }));
124
- return (0, utils_1.applyWithOverwrite)((0, schematics_1.url)('./files-service'), [
125
- (0, schematics_1.applyTemplates)({
126
- ...cases,
127
- serializeParameters: utils_1.serializeParameters,
128
- ...service,
129
- }),
130
- (0, schematics_1.move)((0, core_1.normalize)(targetPath)),
131
- ]);
132
- }));
133
- }
134
- function filterControllersByServiceType(serviceType, controllers) {
135
- const itShouldBeIntegratedService = serviceType === enums_1.eServiceType.Integration;
136
- const skipFilter = serviceType === enums_1.eServiceType.All;
137
- return Object.values(controllers || {}).filter(x => x.isIntegrationService === itShouldBeIntegratedService || skipFilter);
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/schematics/src/commands/api/index.ts"],"names":[],"mappings":"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"}