@schematics/angular 21.0.0-next.1 → 21.0.0-next.10

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 (263) hide show
  1. package/ai-config/index.js +33 -15
  2. package/ai-config/index.js.map +1 -0
  3. package/ai-config/schema.d.ts +1 -0
  4. package/ai-config/schema.js +2 -0
  5. package/ai-config/schema.js.map +1 -0
  6. package/ai-config/schema.json +11 -7
  7. package/app-shell/index.js +1 -0
  8. package/app-shell/index.js.map +1 -0
  9. package/app-shell/schema.js +1 -0
  10. package/app-shell/schema.js.map +1 -0
  11. package/application/files/common-files/tsconfig.spec.json.template +1 -1
  12. package/application/files/module-files/src/app/app-module.ts.template +2 -3
  13. package/application/files/module-files/src/app/{app.spec.ts.template → app__suffix__.spec.ts.template} +4 -6
  14. package/application/files/standalone-files/src/app/app.config.ts.template +3 -3
  15. package/application/files/standalone-files/src/app/{app.spec.ts.template → app__suffix__.spec.ts.template} +4 -6
  16. package/application/files/standalone-files/src/app/{app.ts.template → app__suffix__.ts.template} +2 -2
  17. package/application/index.js +82 -14
  18. package/application/index.js.map +1 -0
  19. package/application/schema.d.ts +28 -0
  20. package/application/schema.js +21 -1
  21. package/application/schema.js.map +1 -0
  22. package/application/schema.json +13 -2
  23. package/class/index.js +1 -0
  24. package/class/index.js.map +1 -0
  25. package/class/schema.js +1 -0
  26. package/class/schema.js.map +1 -0
  27. package/collection.json +6 -0
  28. package/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +7 -7
  29. package/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +7 -7
  30. package/component/index.js +9 -1
  31. package/component/index.js.map +1 -0
  32. package/component/schema.d.ts +5 -0
  33. package/component/schema.js +1 -0
  34. package/component/schema.js.map +1 -0
  35. package/component/schema.json +5 -0
  36. package/config/files/.browserslistrc.template +1 -1
  37. package/config/index.js +3 -4
  38. package/config/index.js.map +1 -0
  39. package/config/schema.js +1 -0
  40. package/config/schema.js.map +1 -0
  41. package/directive/files/__name@dasherize__.__type@dasherize__.spec.ts.template +3 -3
  42. package/directive/files/__name@dasherize__.__type@dasherize__.ts.template +3 -3
  43. package/directive/index.js +8 -2
  44. package/directive/index.js.map +1 -0
  45. package/directive/schema.d.ts +5 -0
  46. package/directive/schema.js +1 -0
  47. package/directive/schema.js.map +1 -0
  48. package/directive/schema.json +5 -0
  49. package/e2e/index.js +1 -0
  50. package/e2e/index.js.map +1 -0
  51. package/e2e/schema.js +1 -0
  52. package/e2e/schema.js.map +1 -0
  53. package/enum/index.js +1 -0
  54. package/enum/index.js.map +1 -0
  55. package/enum/schema.js +1 -0
  56. package/enum/schema.js.map +1 -0
  57. package/environments/index.js +1 -0
  58. package/environments/index.js.map +1 -0
  59. package/environments/schema.js +1 -0
  60. package/environments/schema.js.map +1 -0
  61. package/guard/implements-files/__name@dasherize____typeSeparator__guard.ts.template +1 -1
  62. package/guard/index.js +1 -0
  63. package/guard/index.js.map +1 -0
  64. package/guard/schema.js +1 -0
  65. package/guard/schema.js.map +1 -0
  66. package/interceptor/index.js +1 -0
  67. package/interceptor/index.js.map +1 -0
  68. package/interceptor/schema.js +1 -0
  69. package/interceptor/schema.js.map +1 -0
  70. package/interface/index.js +1 -0
  71. package/interface/index.js.map +1 -0
  72. package/interface/schema.js +1 -0
  73. package/interface/schema.js.map +1 -0
  74. package/library/files/tsconfig.spec.json.template +1 -1
  75. package/library/index.js +18 -8
  76. package/library/index.js.map +1 -0
  77. package/library/schema.js +1 -0
  78. package/library/schema.js.map +1 -0
  79. package/migrations/karma/karma-config-analyzer.js +1 -0
  80. package/migrations/karma/karma-config-analyzer.js.map +1 -0
  81. package/migrations/karma/karma-config-comparer.js +1 -0
  82. package/migrations/karma/karma-config-comparer.js.map +1 -0
  83. package/migrations/karma/migration.js +1 -0
  84. package/migrations/karma/migration.js.map +1 -0
  85. package/migrations/migration-collection.json +10 -0
  86. package/migrations/update-module-resolution/migration.d.ts +9 -0
  87. package/migrations/update-module-resolution/migration.js +53 -0
  88. package/migrations/update-module-resolution/migration.js.map +1 -0
  89. package/migrations/update-typescript-lib/migration.d.ts +9 -0
  90. package/migrations/update-typescript-lib/migration.js +80 -0
  91. package/migrations/update-typescript-lib/migration.js.map +1 -0
  92. package/migrations/use-application-builder/css-import-lexer.js +1 -0
  93. package/migrations/use-application-builder/css-import-lexer.js.map +1 -0
  94. package/migrations/use-application-builder/migration.js +2 -0
  95. package/migrations/use-application-builder/migration.js.map +1 -0
  96. package/migrations/use-application-builder/stylesheet-updates.js +1 -0
  97. package/migrations/use-application-builder/stylesheet-updates.js.map +1 -0
  98. package/module/index.js +1 -0
  99. package/module/index.js.map +1 -0
  100. package/module/schema.js +1 -0
  101. package/module/schema.js.map +1 -0
  102. package/ng-new/index.js +10 -0
  103. package/ng-new/index.js.map +1 -0
  104. package/ng-new/schema.d.ts +29 -0
  105. package/ng-new/schema.js +22 -1
  106. package/ng-new/schema.js.map +1 -0
  107. package/ng-new/schema.json +13 -1
  108. package/package.json +4 -4
  109. package/pipe/files/__name@dasherize____typeSeparator__pipe.ts.template +2 -2
  110. package/pipe/index.js +1 -0
  111. package/pipe/index.js.map +1 -0
  112. package/pipe/schema.js +1 -0
  113. package/pipe/schema.js.map +1 -0
  114. package/refactor/jasmine-vitest/index.d.ts +10 -0
  115. package/refactor/jasmine-vitest/index.js +103 -0
  116. package/refactor/jasmine-vitest/index.js.map +1 -0
  117. package/refactor/jasmine-vitest/schema.d.ts +25 -0
  118. package/refactor/jasmine-vitest/schema.js +5 -0
  119. package/refactor/jasmine-vitest/schema.js.map +1 -0
  120. package/refactor/jasmine-vitest/schema.json +30 -0
  121. package/refactor/jasmine-vitest/test-file-transformer.d.ts +16 -0
  122. package/refactor/jasmine-vitest/test-file-transformer.js +141 -0
  123. package/refactor/jasmine-vitest/test-file-transformer.js.map +1 -0
  124. package/refactor/jasmine-vitest/transformers/jasmine-lifecycle.d.ts +18 -0
  125. package/refactor/jasmine-vitest/transformers/jasmine-lifecycle.js +250 -0
  126. package/refactor/jasmine-vitest/transformers/jasmine-lifecycle.js.map +1 -0
  127. package/refactor/jasmine-vitest/transformers/jasmine-matcher.d.ts +26 -0
  128. package/refactor/jasmine-vitest/transformers/jasmine-matcher.js +398 -0
  129. package/refactor/jasmine-vitest/transformers/jasmine-matcher.js.map +1 -0
  130. package/refactor/jasmine-vitest/transformers/jasmine-misc.d.ts +21 -0
  131. package/refactor/jasmine-vitest/transformers/jasmine-misc.js +164 -0
  132. package/refactor/jasmine-vitest/transformers/jasmine-misc.js.map +1 -0
  133. package/refactor/jasmine-vitest/transformers/jasmine-spy.d.ts +19 -0
  134. package/refactor/jasmine-vitest/transformers/jasmine-spy.js +284 -0
  135. package/refactor/jasmine-vitest/transformers/jasmine-spy.js.map +1 -0
  136. package/refactor/jasmine-vitest/transformers/jasmine-type.d.ts +16 -0
  137. package/refactor/jasmine-vitest/transformers/jasmine-type.js +64 -0
  138. package/refactor/jasmine-vitest/transformers/jasmine-type.js.map +1 -0
  139. package/refactor/jasmine-vitest/utils/ast-helpers.d.ts +13 -0
  140. package/refactor/jasmine-vitest/utils/ast-helpers.js +43 -0
  141. package/refactor/jasmine-vitest/utils/ast-helpers.js.map +1 -0
  142. package/refactor/jasmine-vitest/utils/ast-validation.d.ts +25 -0
  143. package/refactor/jasmine-vitest/utils/ast-validation.js +44 -0
  144. package/refactor/jasmine-vitest/utils/ast-validation.js.map +1 -0
  145. package/refactor/jasmine-vitest/utils/comment-helpers.d.ts +29 -0
  146. package/refactor/jasmine-vitest/utils/comment-helpers.js +37 -0
  147. package/refactor/jasmine-vitest/utils/comment-helpers.js.map +1 -0
  148. package/refactor/jasmine-vitest/utils/refactor-context.d.ts +28 -0
  149. package/refactor/jasmine-vitest/utils/refactor-context.js +10 -0
  150. package/refactor/jasmine-vitest/utils/refactor-context.js.map +1 -0
  151. package/refactor/jasmine-vitest/utils/refactor-reporter.d.ts +24 -0
  152. package/refactor/jasmine-vitest/utils/refactor-reporter.js +72 -0
  153. package/refactor/jasmine-vitest/utils/refactor-reporter.js.map +1 -0
  154. package/refactor/jasmine-vitest/utils/todo-notes.d.ts +132 -0
  155. package/refactor/jasmine-vitest/utils/todo-notes.js +108 -0
  156. package/refactor/jasmine-vitest/utils/todo-notes.js.map +1 -0
  157. package/resolver/index.js +1 -0
  158. package/resolver/index.js.map +1 -0
  159. package/resolver/schema.js +1 -0
  160. package/resolver/schema.js.map +1 -0
  161. package/server/files/application-builder/standalone-src/main.server.ts.template +3 -2
  162. package/server/files/server-builder/standalone-src/main.server.ts.template +3 -2
  163. package/server/index.js +1 -0
  164. package/server/index.js.map +1 -0
  165. package/server/schema.js +1 -0
  166. package/server/schema.js.map +1 -0
  167. package/service/files/__name@dasherize__.__type@dasherize__.spec.ts.template +4 -4
  168. package/service/files/__name@dasherize__.__type@dasherize__.ts.template +2 -2
  169. package/service/index.d.ts +2 -1
  170. package/service/index.js +21 -4
  171. package/service/index.js.map +1 -0
  172. package/service/schema.d.ts +5 -0
  173. package/service/schema.js +1 -0
  174. package/service/schema.js.map +1 -0
  175. package/service/schema.json +5 -0
  176. package/service-worker/index.js +1 -0
  177. package/service-worker/index.js.map +1 -0
  178. package/service-worker/schema.js +1 -0
  179. package/service-worker/schema.js.map +1 -0
  180. package/ssr/files/application-builder/server.ts.template +2 -2
  181. package/ssr/files/server-builder/server.ts.template +0 -2
  182. package/ssr/index.js +1 -0
  183. package/ssr/index.js.map +1 -0
  184. package/ssr/schema.js +1 -0
  185. package/ssr/schema.js.map +1 -0
  186. package/ssr/tty.js +1 -0
  187. package/ssr/tty.js.map +1 -0
  188. package/tailwind/index.d.ts +2 -3
  189. package/tailwind/index.js +82 -26
  190. package/tailwind/index.js.map +1 -0
  191. package/tailwind/schema.d.ts +5 -0
  192. package/tailwind/schema.js +1 -0
  193. package/tailwind/schema.js.map +1 -0
  194. package/tailwind/schema.json +5 -0
  195. package/utility/add-declaration-to-ng-module.js +1 -0
  196. package/utility/add-declaration-to-ng-module.js.map +1 -0
  197. package/utility/ast-utils.js +22 -10
  198. package/utility/ast-utils.js.map +1 -0
  199. package/utility/change.js +1 -0
  200. package/utility/change.js.map +1 -0
  201. package/utility/dependencies.js +1 -0
  202. package/utility/dependencies.js.map +1 -0
  203. package/utility/dependency.js +1 -0
  204. package/utility/dependency.js.map +1 -0
  205. package/utility/eol.js +1 -0
  206. package/utility/eol.js.map +1 -0
  207. package/utility/find-module.js +1 -0
  208. package/utility/find-module.js.map +1 -0
  209. package/utility/generate-from-files.d.ts +1 -0
  210. package/utility/generate-from-files.js +1 -0
  211. package/utility/generate-from-files.js.map +1 -0
  212. package/utility/index.js +1 -0
  213. package/utility/index.js.map +1 -0
  214. package/utility/json-file.js +1 -0
  215. package/utility/json-file.js.map +1 -0
  216. package/utility/latest-versions/package.json +3 -1
  217. package/utility/latest-versions.js +4 -3
  218. package/utility/latest-versions.js.map +1 -0
  219. package/utility/ng-ast-utils.js +1 -0
  220. package/utility/ng-ast-utils.js.map +1 -0
  221. package/utility/parse-name.js +1 -0
  222. package/utility/parse-name.js.map +1 -0
  223. package/utility/paths.js +1 -0
  224. package/utility/paths.js.map +1 -0
  225. package/utility/project-targets.d.ts +1 -0
  226. package/utility/project-targets.js +11 -0
  227. package/utility/project-targets.js.map +1 -0
  228. package/utility/project.js +1 -0
  229. package/utility/project.js.map +1 -0
  230. package/utility/standalone/app_component.js +1 -0
  231. package/utility/standalone/app_component.js.map +1 -0
  232. package/utility/standalone/app_config.js +1 -0
  233. package/utility/standalone/app_config.js.map +1 -0
  234. package/utility/standalone/code_block.js +1 -0
  235. package/utility/standalone/code_block.js.map +1 -0
  236. package/utility/standalone/index.js +1 -0
  237. package/utility/standalone/index.js.map +1 -0
  238. package/utility/standalone/rules.js +1 -0
  239. package/utility/standalone/rules.js.map +1 -0
  240. package/utility/standalone/util.js +1 -0
  241. package/utility/standalone/util.js.map +1 -0
  242. package/utility/validation.js +1 -0
  243. package/utility/validation.js.map +1 -0
  244. package/utility/workspace-models.d.ts +1 -0
  245. package/utility/workspace-models.js +2 -0
  246. package/utility/workspace-models.js.map +1 -0
  247. package/utility/workspace.js +1 -0
  248. package/utility/workspace.js.map +1 -0
  249. package/web-worker/index.js +1 -0
  250. package/web-worker/index.js.map +1 -0
  251. package/web-worker/schema.js +1 -0
  252. package/web-worker/schema.js.map +1 -0
  253. package/workspace/files/__dot__gitignore.template +1 -0
  254. package/workspace/files/package.json.template +2 -8
  255. package/workspace/files/tsconfig.json.template +0 -1
  256. package/workspace/index.js +35 -9
  257. package/workspace/index.js.map +1 -0
  258. package/workspace/schema.js +1 -0
  259. package/workspace/schema.js.map +1 -0
  260. package/workspace/schema.json +4 -1
  261. package/config/.browserslistrc +0 -7
  262. /package/application/files/common-files/src/app/{app.html.template → app__suffix__.html.template} +0 -0
  263. /package/application/files/module-files/src/app/{app.ts.template → app__suffix__.ts.template} +0 -0
@@ -11,6 +11,10 @@ exports.default = default_1;
11
11
  const schematics_1 = require("@angular-devkit/schematics");
12
12
  const schema_1 = require("./schema");
13
13
  const AI_TOOLS = {
14
+ agents: {
15
+ rulesName: 'AGENTS.md',
16
+ directory: '.',
17
+ },
14
18
  gemini: {
15
19
  rulesName: 'GEMINI.md',
16
20
  directory: '.gemini',
@@ -39,19 +43,33 @@ const AI_TOOLS = {
39
43
  },
40
44
  };
41
45
  function default_1({ tool }) {
42
- if (!tool) {
43
- return (0, schematics_1.noop)();
44
- }
45
- const rules = tool
46
- .filter((tool) => tool !== schema_1.Tool.None)
47
- .map((selectedTool) => AI_TOOLS[selectedTool])
48
- .map(({ rulesName, directory, frontmatter }) => (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files'), [
49
- (0, schematics_1.applyTemplates)({
50
- ...schematics_1.strings,
51
- rulesName,
52
- frontmatter,
53
- }),
54
- (0, schematics_1.move)(directory),
55
- ])));
56
- return (0, schematics_1.chain)(rules);
46
+ return (tree, context) => {
47
+ if (!tool) {
48
+ return (0, schematics_1.noop)();
49
+ }
50
+ const rules = tool
51
+ .filter((tool) => tool !== schema_1.Tool.None)
52
+ .map((selectedTool) => {
53
+ const { rulesName, directory, frontmatter } = AI_TOOLS[selectedTool];
54
+ const path = `${directory}/${rulesName}`;
55
+ if (tree.exists(path)) {
56
+ const toolName = schematics_1.strings.classify(selectedTool);
57
+ context.logger.warn(`Skipping configuration file for '${toolName}' at '${path}' because it already exists.\n` +
58
+ 'This is to prevent overwriting a potentially customized file. ' +
59
+ 'If you want to regenerate it with Angular recommended defaults, please delete the existing file and re-run the command.\n' +
60
+ 'You can review the latest recommendations at https://angular.dev/ai/develop-with-ai.');
61
+ return (0, schematics_1.noop)();
62
+ }
63
+ return (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files'), [
64
+ (0, schematics_1.applyTemplates)({
65
+ ...schematics_1.strings,
66
+ rulesName,
67
+ frontmatter,
68
+ }),
69
+ (0, schematics_1.move)(directory),
70
+ ]));
71
+ });
72
+ return (0, schematics_1.chain)(rules);
73
+ };
57
74
  }
75
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAsDH,4BAsCC;AA1FD,2DAUoC;AACpC,qCAAyD;AAEzD,MAAM,QAAQ,GAA2D;IACvE,MAAM,EAAE;QACN,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,GAAG;KACf;IACD,MAAM,EAAE;QACN,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,SAAS;KACrB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,SAAS;KACrB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,yBAAyB;QACpC,SAAS,EAAE,SAAS;KACrB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,iBAAiB;KAC7B;IACD,SAAS,EAAE;QACT,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,QAAQ;KACpB;IACD,0CAA0C;IAC1C,MAAM,EAAE;QACN,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,eAAe;QAC1B,WAAW,EAAE,yDAAyD;KACvE;CACF,CAAC;AAQF,mBAAyB,EAAE,IAAI,EAAiB;IAC9C,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAA,iBAAI,GAAE,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI;aACf,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,aAAI,CAAC,IAAI,CAAC;aACpC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YACpB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;YAEzC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,oBAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChD,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,oCAAoC,QAAQ,SAAS,IAAI,gCAAgC;oBACvF,gEAAgE;oBAChE,2HAA2H;oBAC3H,sFAAsF,CACzF,CAAC;gBAEF,OAAO,IAAA,iBAAI,GAAE,CAAC;YAChB,CAAC;YAED,OAAO,IAAA,sBAAS,EACd,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE;gBACpB,IAAA,2BAAc,EAAC;oBACb,GAAG,oBAAO;oBACV,SAAS;oBACT,WAAW;iBACZ,CAAC;gBACF,IAAA,iBAAI,EAAC,SAAS,CAAC;aAChB,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC"}
@@ -11,6 +11,7 @@ export type Schema = {
11
11
  tool?: Tool[];
12
12
  };
13
13
  export declare enum Tool {
14
+ Agents = "agents",
14
15
  Claude = "claude",
15
16
  Copilot = "copilot",
16
17
  Cursor = "cursor",
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.Tool = void 0;
6
6
  var Tool;
7
7
  (function (Tool) {
8
+ Tool["Agents"] = "agents";
8
9
  Tool["Claude"] = "claude";
9
10
  Tool["Copilot"] = "copilot";
10
11
  Tool["Cursor"] = "cursor";
@@ -13,3 +14,4 @@ var Tool;
13
14
  Tool["None"] = "none";
14
15
  Tool["Windsurf"] = "windsurf";
15
16
  })(Tool || (exports.Tool = Tool = {}));
17
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AAepF,IAAY,IASX;AATD,WAAY,IAAI;IACZ,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,+BAAuB,CAAA;IACvB,qBAAa,CAAA;IACb,6BAAqB,CAAA;AACzB,CAAC,EATW,IAAI,oBAAJ,IAAI,QASf"}
@@ -18,36 +18,40 @@
18
18
  "value": "none",
19
19
  "label": "None"
20
20
  },
21
+ {
22
+ "value": "agents",
23
+ "label": "Agents.md [ https://agents.md/ ]"
24
+ },
21
25
  {
22
26
  "value": "claude",
23
- "label": "Claude [ https://docs.anthropic.com/en/docs/claude-code/memory ]"
27
+ "label": "Claude [ https://docs.anthropic.com/en/docs/claude-code/memory ]"
24
28
  },
25
29
  {
26
30
  "value": "cursor",
27
- "label": "Cursor [ https://docs.cursor.com/en/context/rules ]"
31
+ "label": "Cursor [ https://docs.cursor.com/en/context/rules ]"
28
32
  },
29
33
  {
30
34
  "value": "gemini",
31
- "label": "Gemini [ https://ai.google.dev/gemini-api/docs ]"
35
+ "label": "Gemini [ https://ai.google.dev/gemini-api/docs ]"
32
36
  },
33
37
  {
34
38
  "value": "copilot",
35
- "label": "GitHub Copilot [ https://code.visualstudio.com/docs/copilot/copilot-customization#_custom-instructions ]"
39
+ "label": "GitHub Copilot [ https://code.visualstudio.com/docs/copilot/copilot-customization ]"
36
40
  },
37
41
  {
38
42
  "value": "jetbrains",
39
- "label": "JetBrains AI Assistant [ https://www.jetbrains.com/help/junie/customize-guidelines.html ]"
43
+ "label": "JetBrains AI [ https://www.jetbrains.com/help/junie/customize-guidelines.html ]"
40
44
  },
41
45
  {
42
46
  "value": "windsurf",
43
- "label": "Windsurf [ https://docs.windsurf.com/windsurf/cascade/memories#rules ]"
47
+ "label": "Windsurf [ https://docs.windsurf.com/windsurf/cascade/memories#rules ]"
44
48
  }
45
49
  ]
46
50
  },
47
51
  "description": "Specifies which AI tools to generate configuration files for. These file are used to improve the outputs of AI tools by following the best practices.",
48
52
  "items": {
49
53
  "type": "string",
50
- "enum": ["none", "gemini", "copilot", "claude", "cursor", "jetbrains", "windsurf"]
54
+ "enum": ["none", "gemini", "copilot", "claude", "cursor", "jetbrains", "windsurf", "agents"]
51
55
  }
52
56
  }
53
57
  }
@@ -163,3 +163,4 @@ exports.default = (0, project_1.createProjectSchematic)(async (options, { tree }
163
163
  }),
164
164
  ]);
165
165
  });
166
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@
2
2
  // THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
3
3
  // CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF"}
@@ -5,7 +5,7 @@
5
5
  "compilerOptions": {
6
6
  "outDir": "<%= relativePathToWorkspaceRoot %>/out-tsc/spec",
7
7
  "types": [
8
- "jasmine"
8
+ "<%= testRunner === 'vitest' ? 'vitest/globals' : 'jasmine' %>"
9
9
  ]
10
10
  },
11
11
  "include": [
@@ -1,4 +1,4 @@
1
- import { NgModule, provideBrowserGlobalErrorListeners<% if(zoneless) { %>, provideZonelessChangeDetection<% } %> } from '@angular/core';
1
+ import { NgModule, provideBrowserGlobalErrorListeners } from '@angular/core';
2
2
  import { BrowserModule } from '@angular/platform-browser';
3
3
  <% if (routing) { %>
4
4
  import { AppRoutingModule } from './app-routing-module';<% } %>
@@ -13,8 +13,7 @@ import { App } from './app';
13
13
  AppRoutingModule<% } %>
14
14
  ],
15
15
  providers: [
16
- provideBrowserGlobalErrorListeners()<% if (zoneless) { %>,
17
- provideZonelessChangeDetection()<% } %>
16
+ provideBrowserGlobalErrorListeners()
18
17
  ],
19
18
  bootstrap: [App]
20
19
  })
@@ -1,5 +1,4 @@
1
- <% if(zoneless) { %>import { provideZonelessChangeDetection } from '@angular/core';
2
- <% } %>import { TestBed } from '@angular/core/testing';<% if (routing) { %>
1
+ import { TestBed } from '@angular/core/testing';<% if (routing) { %>
3
2
  import { RouterModule } from '@angular/router';<% } %>
4
3
  import { App } from './app';
5
4
 
@@ -11,8 +10,7 @@ describe('App', () => {
11
10
  ],<% } %>
12
11
  declarations: [
13
12
  App
14
- ],<% if(zoneless) { %>
15
- providers: [provideZonelessChangeDetection()]<% } %>
13
+ ],
16
14
  }).compileComponents();
17
15
  });
18
16
 
@@ -22,9 +20,9 @@ describe('App', () => {
22
20
  expect(app).toBeTruthy();
23
21
  });
24
22
 
25
- it('should render title', () => {
23
+ it('should render title', <% if(zoneless) { %>async <% } %>() => {
26
24
  const fixture = TestBed.createComponent(App);
27
- fixture.detectChanges();
25
+ <%= zoneless ? 'await fixture.whenStable();' : 'fixture.detectChanges();' %>
28
26
  const compiled = fixture.nativeElement as HTMLElement;
29
27
  expect(compiled.querySelector('h1')?.textContent).toContain('Hello, <%= name %>');
30
28
  });
@@ -1,12 +1,12 @@
1
- import { ApplicationConfig, provideBrowserGlobalErrorListeners, <% if(!zoneless) { %>provideZoneChangeDetection<% } else { %>provideZonelessChangeDetection<% } %> } from '@angular/core';<% if (routing) { %>
1
+ import { ApplicationConfig, provideBrowserGlobalErrorListeners<% if(!zoneless) { %>, provideZoneChangeDetection<% } %> } from '@angular/core';<% if (routing) { %>
2
2
  import { provideRouter } from '@angular/router';
3
3
 
4
4
  import { routes } from './app.routes';<% } %>
5
5
 
6
6
  export const appConfig: ApplicationConfig = {
7
7
  providers: [
8
- provideBrowserGlobalErrorListeners(),
9
- <% if(zoneless) { %>provideZonelessChangeDetection()<% } else { %>provideZoneChangeDetection({ eventCoalescing: true })<% } %>,
8
+ provideBrowserGlobalErrorListeners(),<% if(!zoneless) { %>
9
+ provideZoneChangeDetection({ eventCoalescing: true }),<% } %>
10
10
  <% if (routing) {%>provideRouter(routes)<% } %>
11
11
  ]
12
12
  };
@@ -1,12 +1,10 @@
1
- <% if(zoneless) { %>import { provideZonelessChangeDetection } from '@angular/core';
2
- <% } %>import { TestBed } from '@angular/core/testing';
1
+ import { TestBed } from '@angular/core/testing';
3
2
  import { App } from './app';
4
3
 
5
4
  describe('App', () => {
6
5
  beforeEach(async () => {
7
6
  await TestBed.configureTestingModule({
8
- imports: [App],<% if(zoneless) { %>
9
- providers: [provideZonelessChangeDetection()]<% } %>
7
+ imports: [App],
10
8
  }).compileComponents();
11
9
  });
12
10
 
@@ -16,9 +14,9 @@ describe('App', () => {
16
14
  expect(app).toBeTruthy();
17
15
  });
18
16
 
19
- it('should render title', () => {
17
+ it('should render title', <% if(zoneless) { %>async <% } %>() => {
20
18
  const fixture = TestBed.createComponent(App);
21
- fixture.detectChanges();
19
+ <%= zoneless ? 'await fixture.whenStable();' : 'fixture.detectChanges();' %>
22
20
  const compiled = fixture.nativeElement as HTMLElement;
23
21
  expect(compiled.querySelector('h1')?.textContent).toContain('Hello, <%= name %>');
24
22
  });
@@ -11,9 +11,9 @@ import { RouterOutlet } from '@angular/router';<% } %>
11
11
  %><router-outlet /><%
12
12
  } %>
13
13
  `,<% } else { %>
14
- templateUrl: './app.html',<% } if(inlineStyle) { %>
14
+ templateUrl: './app<%= suffix %>.html',<% } if(inlineStyle) { %>
15
15
  styles: [],<% } else { %>
16
- styleUrl: './app.<%= style %>'<% } %>
16
+ styleUrl: './app<%= suffix %>.<%= style %>'<% } %>
17
17
  })
18
18
  export class App {
19
19
  protected readonly title = signal('<%= name %>');
@@ -41,6 +41,7 @@ function default_1(options) {
41
41
  options.style = schema_1.Style.Css;
42
42
  }
43
43
  const { appDir, appRootSelector, componentOptions, folderName, sourceDir } = await getAppOptions(host, options);
44
+ const suffix = options.fileNameStyleGuide === '2016' ? '.component' : '';
44
45
  return (0, schematics_1.chain)([
45
46
  addAppToWorkspaceFile(options, appDir),
46
47
  addTsProjectReference('./' + (0, core_1.join)((0, core_1.normalize)(appDir), 'tsconfig.app.json')),
@@ -81,6 +82,7 @@ function default_1(options) {
81
82
  relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(appDir),
82
83
  appName: options.name,
83
84
  folderName,
85
+ suffix,
84
86
  }),
85
87
  (0, schematics_1.move)(appDir),
86
88
  ]), schematics_1.MergeStrategy.Overwrite),
@@ -89,7 +91,7 @@ function default_1(options) {
89
91
  ? (0, schematics_1.filter)((path) => !path.endsWith('tsconfig.spec.json.template'))
90
92
  : (0, schematics_1.noop)(),
91
93
  componentOptions.inlineTemplate
92
- ? (0, schematics_1.filter)((path) => !path.endsWith('app.html.template'))
94
+ ? (0, schematics_1.filter)((path) => !path.endsWith('app__suffix__.html.template'))
93
95
  : (0, schematics_1.noop)(),
94
96
  (0, schematics_1.applyTemplates)({
95
97
  utils: schematics_1.strings,
@@ -98,6 +100,8 @@ function default_1(options) {
98
100
  relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(appDir),
99
101
  appName: options.name,
100
102
  folderName,
103
+ suffix,
104
+ testRunner: options.testRunner,
101
105
  }),
102
106
  (0, schematics_1.move)(appDir),
103
107
  ]), schematics_1.MergeStrategy.Overwrite),
@@ -111,6 +115,7 @@ function default_1(options) {
111
115
  isTailwind
112
116
  ? (0, schematics_1.schematic)('tailwind', {
113
117
  project: options.name,
118
+ skipInstall: options.skipInstall,
114
119
  })
115
120
  : (0, schematics_1.noop)(),
116
121
  ]);
@@ -136,6 +141,50 @@ function addDependenciesToPackageJson(options) {
136
141
  install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
137
142
  }));
138
143
  }
144
+ if (!options.skipTests) {
145
+ if (options.testRunner === 'vitest') {
146
+ rules.push((0, dependency_1.addDependency)('vitest', latest_versions_1.latestVersions['vitest'], {
147
+ type: dependency_1.DependencyType.Dev,
148
+ existing: dependency_1.ExistingBehavior.Skip,
149
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
150
+ }), (0, dependency_1.addDependency)('jsdom', latest_versions_1.latestVersions['jsdom'], {
151
+ type: dependency_1.DependencyType.Dev,
152
+ existing: dependency_1.ExistingBehavior.Skip,
153
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
154
+ }));
155
+ }
156
+ else {
157
+ rules.push((0, dependency_1.addDependency)('karma', latest_versions_1.latestVersions['karma'], {
158
+ type: dependency_1.DependencyType.Dev,
159
+ existing: dependency_1.ExistingBehavior.Skip,
160
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
161
+ }), (0, dependency_1.addDependency)('karma-chrome-launcher', latest_versions_1.latestVersions['karma-chrome-launcher'], {
162
+ type: dependency_1.DependencyType.Dev,
163
+ existing: dependency_1.ExistingBehavior.Skip,
164
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
165
+ }), (0, dependency_1.addDependency)('karma-coverage', latest_versions_1.latestVersions['karma-coverage'], {
166
+ type: dependency_1.DependencyType.Dev,
167
+ existing: dependency_1.ExistingBehavior.Skip,
168
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
169
+ }), (0, dependency_1.addDependency)('karma-jasmine', latest_versions_1.latestVersions['karma-jasmine'], {
170
+ type: dependency_1.DependencyType.Dev,
171
+ existing: dependency_1.ExistingBehavior.Skip,
172
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
173
+ }), (0, dependency_1.addDependency)('karma-jasmine-html-reporter', latest_versions_1.latestVersions['karma-jasmine-html-reporter'], {
174
+ type: dependency_1.DependencyType.Dev,
175
+ existing: dependency_1.ExistingBehavior.Skip,
176
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
177
+ }), (0, dependency_1.addDependency)('jasmine-core', latest_versions_1.latestVersions['jasmine-core'], {
178
+ type: dependency_1.DependencyType.Dev,
179
+ existing: dependency_1.ExistingBehavior.Skip,
180
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
181
+ }), (0, dependency_1.addDependency)('@types/jasmine', latest_versions_1.latestVersions['@types/jasmine'], {
182
+ type: dependency_1.DependencyType.Dev,
183
+ existing: dependency_1.ExistingBehavior.Skip,
184
+ install: options.skipInstall ? dependency_1.InstallBehavior.None : dependency_1.InstallBehavior.Auto,
185
+ }));
186
+ }
187
+ }
139
188
  return (0, schematics_1.chain)(rules);
140
189
  }
141
190
  function addAppToWorkspaceFile(options, appDir) {
@@ -181,6 +230,18 @@ function addAppToWorkspaceFile(options, appDir) {
181
230
  (schematics[`@schematics/angular:${type}`] ??= {}).standalone = false;
182
231
  });
183
232
  }
233
+ if (options.fileNameStyleGuide === '2016') {
234
+ const schematicsWithTypeSymbols = ['component', 'directive', 'service'];
235
+ schematicsWithTypeSymbols.forEach((type) => {
236
+ const schematicDefaults = (schematics[`@schematics/angular:${type}`] ??= {});
237
+ schematicDefaults.type = type;
238
+ schematicDefaults.addTypeToClassName = false;
239
+ });
240
+ const schematicsWithTypeSeparator = ['guard', 'interceptor', 'module', 'pipe', 'resolver'];
241
+ schematicsWithTypeSeparator.forEach((type) => {
242
+ (schematics[`@schematics/angular:${type}`] ??= {}).typeSeparator = '.';
243
+ });
244
+ }
184
245
  const sourceRoot = (0, core_1.join)((0, core_1.normalize)(projectRoot), 'src');
185
246
  let budgets = [];
186
247
  if (options.strict) {
@@ -255,21 +316,23 @@ function addAppToWorkspaceFile(options, appDir) {
255
316
  },
256
317
  },
257
318
  },
258
- 'extract-i18n': {
259
- builder: workspace_models_1.Builders.BuildExtractI18n,
260
- },
261
- test: options.minimal
319
+ test: options.skipTests || options.minimal
262
320
  ? undefined
263
- : {
264
- builder: workspace_models_1.Builders.BuildKarma,
265
- options: {
266
- polyfills: options.zoneless ? undefined : ['zone.js', 'zone.js/testing'],
267
- tsConfig: `${projectRoot}tsconfig.spec.json`,
268
- inlineStyleLanguage,
269
- assets: [{ 'glob': '**/*', 'input': `${projectRoot}public` }],
270
- styles: [`${sourceRoot}/styles.${options.style}`],
321
+ : options.testRunner === 'vitest'
322
+ ? {
323
+ builder: workspace_models_1.Builders.BuildUnitTest,
324
+ options: {},
325
+ }
326
+ : {
327
+ builder: workspace_models_1.Builders.BuildKarma,
328
+ options: {
329
+ polyfills: options.zoneless ? undefined : ['zone.js', 'zone.js/testing'],
330
+ tsConfig: `${projectRoot}tsconfig.spec.json`,
331
+ inlineStyleLanguage,
332
+ assets: [{ 'glob': '**/*', 'input': `${projectRoot}public` }],
333
+ styles: [`${sourceRoot}/styles.${options.style}`],
334
+ },
271
335
  },
272
- },
273
336
  },
274
337
  };
275
338
  return (0, workspace_1.updateWorkspace)((workspace) => {
@@ -317,5 +380,10 @@ function getComponentOptions(options) {
317
380
  style: options.style,
318
381
  viewEncapsulation: options.viewEncapsulation,
319
382
  };
383
+ if (options.fileNameStyleGuide === '2016') {
384
+ componentOptions.type = 'component';
385
+ componentOptions.addTypeToClassName = false;
386
+ }
320
387
  return componentOptions;
321
388
  }
389
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,13 @@
5
5
  * routing, styling, and testing.
6
6
  */
7
7
  export type Schema = {
8
+ /**
9
+ * The file naming convention to use for generated files. The '2025' style guide (default)
10
+ * uses a concise format (e.g., `app.ts` for the root component), while the '2016' style
11
+ * guide includes the type in the file name (e.g., `app.component.ts`). For more
12
+ * information, see the Angular Style Guide (https://angular.dev/style-guide).
13
+ */
14
+ fileNameStyleGuide?: FileNameStyleGuide;
8
15
  /**
9
16
  * Include the styles for the root component directly within the `app.component.ts` file.
10
17
  * Only CSS styles can be included inline. By default, a separate stylesheet file (e.g.,
@@ -76,6 +83,10 @@ export type Schema = {
76
83
  * The type of stylesheet files to be created for components in the application.
77
84
  */
78
85
  style?: Style;
86
+ /**
87
+ * The unit testing runner to use.
88
+ */
89
+ testRunner?: TestRunner;
79
90
  /**
80
91
  * Sets the view encapsulation mode for the application's components. This determines how
81
92
  * component styles are scoped and applied.
@@ -86,6 +97,16 @@ export type Schema = {
86
97
  */
87
98
  zoneless?: boolean;
88
99
  };
100
+ /**
101
+ * The file naming convention to use for generated files. The '2025' style guide (default)
102
+ * uses a concise format (e.g., `app.ts` for the root component), while the '2016' style
103
+ * guide includes the type in the file name (e.g., `app.component.ts`). For more
104
+ * information, see the Angular Style Guide (https://angular.dev/style-guide).
105
+ */
106
+ export declare enum FileNameStyleGuide {
107
+ The2016 = "2016",
108
+ The2025 = "2025"
109
+ }
89
110
  /**
90
111
  * The type of stylesheet files to be created for components in the application.
91
112
  */
@@ -96,6 +117,13 @@ export declare enum Style {
96
117
  Scss = "scss",
97
118
  Tailwind = "tailwind"
98
119
  }
120
+ /**
121
+ * The unit testing runner to use.
122
+ */
123
+ export declare enum TestRunner {
124
+ Karma = "karma",
125
+ Vitest = "vitest"
126
+ }
99
127
  /**
100
128
  * Sets the view encapsulation mode for the application's components. This determines how
101
129
  * component styles are scoped and applied.
@@ -2,7 +2,18 @@
2
2
  // THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
3
3
  // CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.ViewEncapsulation = exports.Style = void 0;
5
+ exports.ViewEncapsulation = exports.TestRunner = exports.Style = exports.FileNameStyleGuide = void 0;
6
+ /**
7
+ * The file naming convention to use for generated files. The '2025' style guide (default)
8
+ * uses a concise format (e.g., `app.ts` for the root component), while the '2016' style
9
+ * guide includes the type in the file name (e.g., `app.component.ts`). For more
10
+ * information, see the Angular Style Guide (https://angular.dev/style-guide).
11
+ */
12
+ var FileNameStyleGuide;
13
+ (function (FileNameStyleGuide) {
14
+ FileNameStyleGuide["The2016"] = "2016";
15
+ FileNameStyleGuide["The2025"] = "2025";
16
+ })(FileNameStyleGuide || (exports.FileNameStyleGuide = FileNameStyleGuide = {}));
6
17
  /**
7
18
  * The type of stylesheet files to be created for components in the application.
8
19
  */
@@ -14,6 +25,14 @@ var Style;
14
25
  Style["Scss"] = "scss";
15
26
  Style["Tailwind"] = "tailwind";
16
27
  })(Style || (exports.Style = Style = {}));
28
+ /**
29
+ * The unit testing runner to use.
30
+ */
31
+ var TestRunner;
32
+ (function (TestRunner) {
33
+ TestRunner["Karma"] = "karma";
34
+ TestRunner["Vitest"] = "vitest";
35
+ })(TestRunner || (exports.TestRunner = TestRunner = {}));
17
36
  /**
18
37
  * Sets the view encapsulation mode for the application's components. This determines how
19
38
  * component styles are scoped and applied.
@@ -24,3 +43,4 @@ var ViewEncapsulation;
24
43
  ViewEncapsulation["None"] = "None";
25
44
  ViewEncapsulation["ShadowDom"] = "ShadowDom";
26
45
  })(ViewEncapsulation || (exports.ViewEncapsulation = ViewEncapsulation = {}));
46
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AAsGpF;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;GAEG;AACH,IAAY,KAMX;AAND,WAAY,KAAK;IACb,oBAAW,CAAA;IACX,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,8BAAqB,CAAA;AACzB,CAAC,EANW,KAAK,qBAAL,KAAK,QAMhB;AAED;;GAEG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;GAGG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
@@ -89,6 +89,12 @@
89
89
  "default": false,
90
90
  "alias": "S"
91
91
  },
92
+ "testRunner": {
93
+ "description": "The unit testing runner to use.",
94
+ "type": "string",
95
+ "enum": ["vitest", "karma"],
96
+ "default": "vitest"
97
+ },
92
98
  "skipPackageJson": {
93
99
  "type": "boolean",
94
100
  "default": false,
@@ -124,9 +130,14 @@
124
130
  },
125
131
  "zoneless": {
126
132
  "description": "Generate an application that does not use `zone.js`.",
127
- "x-prompt": "Do you want to create a 'zoneless' application without zone.js?",
128
133
  "type": "boolean",
129
- "default": false
134
+ "default": true
135
+ },
136
+ "fileNameStyleGuide": {
137
+ "type": "string",
138
+ "enum": ["2016", "2025"],
139
+ "default": "2025",
140
+ "description": "The file naming convention to use for generated files. The '2025' style guide (default) uses a concise format (e.g., `app.ts` for the root component), while the '2016' style guide includes the type in the file name (e.g., `app.component.ts`). For more information, see the Angular Style Guide (https://angular.dev/style-guide)."
130
141
  }
131
142
  },
132
143
  "required": ["name"]
package/class/index.js CHANGED
@@ -12,3 +12,4 @@ const generate_from_files_1 = require("../utility/generate-from-files");
12
12
  function default_1(options) {
13
13
  return (0, generate_from_files_1.generateFromFiles)(options);
14
14
  }
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAMH,4BAEC;AALD,wEAAmE;AAGnE,mBAAyB,OAAqB;IAC5C,OAAO,IAAA,uCAAiB,EAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
package/class/schema.js CHANGED
@@ -2,3 +2,4 @@
2
2
  // THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
3
3
  // CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF"}