@angular/cli 21.0.0-next.0 → 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 (226) hide show
  1. package/lib/cli/index.js +1 -0
  2. package/lib/cli/index.js.map +1 -0
  3. package/lib/code-examples.db +0 -0
  4. package/lib/config/schema.json +276 -51
  5. package/lib/config/workspace-schema.d.ts +57 -2
  6. package/lib/config/workspace-schema.js +23 -2
  7. package/lib/config/workspace-schema.js.map +1 -0
  8. package/lib/init.js +1 -0
  9. package/lib/init.js.map +1 -0
  10. package/package.json +24 -23
  11. package/src/analytics/analytics-collector.js +1 -0
  12. package/src/analytics/analytics-collector.js.map +1 -0
  13. package/src/analytics/analytics-parameters.js +1 -0
  14. package/src/analytics/analytics-parameters.js.map +1 -0
  15. package/src/analytics/analytics.js +1 -0
  16. package/src/analytics/analytics.js.map +1 -0
  17. package/src/command-builder/architect-base-command-module.js +1 -0
  18. package/src/command-builder/architect-base-command-module.js.map +1 -0
  19. package/src/command-builder/architect-command-module.js +21 -7
  20. package/src/command-builder/architect-command-module.js.map +1 -0
  21. package/src/command-builder/command-module.js +1 -0
  22. package/src/command-builder/command-module.js.map +1 -0
  23. package/src/command-builder/command-runner.js +2 -2
  24. package/src/command-builder/command-runner.js.map +1 -0
  25. package/src/command-builder/schematics-command-module.js +8 -2
  26. package/src/command-builder/schematics-command-module.js.map +1 -0
  27. package/src/command-builder/utilities/command.js +1 -0
  28. package/src/command-builder/utilities/command.js.map +1 -0
  29. package/src/command-builder/utilities/json-help.js +1 -0
  30. package/src/command-builder/utilities/json-help.js.map +1 -0
  31. package/src/command-builder/utilities/json-schema.d.ts +13 -1
  32. package/src/command-builder/utilities/json-schema.js +180 -96
  33. package/src/command-builder/utilities/json-schema.js.map +1 -0
  34. package/src/command-builder/utilities/normalize-options-middleware.js +1 -0
  35. package/src/command-builder/utilities/normalize-options-middleware.js.map +1 -0
  36. package/src/command-builder/utilities/schematic-engine-host.js +5 -6
  37. package/src/command-builder/utilities/schematic-engine-host.js.map +1 -0
  38. package/src/command-builder/utilities/schematic-workflow.js +1 -0
  39. package/src/command-builder/utilities/schematic-workflow.js.map +1 -0
  40. package/src/commands/add/cli.d.ts +2 -1
  41. package/src/commands/add/cli.js +179 -94
  42. package/src/commands/add/cli.js.map +1 -0
  43. package/src/commands/analytics/cli.js +1 -0
  44. package/src/commands/analytics/cli.js.map +1 -0
  45. package/src/commands/analytics/info/cli.js +1 -0
  46. package/src/commands/analytics/info/cli.js.map +1 -0
  47. package/src/commands/analytics/settings/cli.js +1 -0
  48. package/src/commands/analytics/settings/cli.js.map +1 -0
  49. package/src/commands/build/cli.js +1 -0
  50. package/src/commands/build/cli.js.map +1 -0
  51. package/src/commands/cache/clean/cli.js +1 -0
  52. package/src/commands/cache/clean/cli.js.map +1 -0
  53. package/src/commands/cache/cli.js +1 -0
  54. package/src/commands/cache/cli.js.map +1 -0
  55. package/src/commands/cache/info/cli.js +36 -11
  56. package/src/commands/cache/info/cli.js.map +1 -0
  57. package/src/commands/cache/settings/cli.js +1 -0
  58. package/src/commands/cache/settings/cli.js.map +1 -0
  59. package/src/commands/cache/utilities.js +1 -0
  60. package/src/commands/cache/utilities.js.map +1 -0
  61. package/src/commands/command-config.js +1 -0
  62. package/src/commands/command-config.js.map +1 -0
  63. package/src/commands/completion/cli.js +1 -0
  64. package/src/commands/completion/cli.js.map +1 -0
  65. package/src/commands/config/cli.js +1 -0
  66. package/src/commands/config/cli.js.map +1 -0
  67. package/src/commands/deploy/cli.js +1 -0
  68. package/src/commands/deploy/cli.js.map +1 -0
  69. package/src/commands/e2e/cli.js +1 -0
  70. package/src/commands/e2e/cli.js.map +1 -0
  71. package/src/commands/extract-i18n/cli.js +1 -0
  72. package/src/commands/extract-i18n/cli.js.map +1 -0
  73. package/src/commands/generate/cli.js +1 -0
  74. package/src/commands/generate/cli.js.map +1 -0
  75. package/src/commands/lint/cli.js +1 -0
  76. package/src/commands/lint/cli.js.map +1 -0
  77. package/src/commands/make-this-awesome/cli.js +1 -0
  78. package/src/commands/make-this-awesome/cli.js.map +1 -0
  79. package/src/commands/mcp/cli.js +1 -0
  80. package/src/commands/mcp/cli.js.map +1 -0
  81. package/src/commands/mcp/constants.d.ts +1 -1
  82. package/src/commands/mcp/constants.js +2 -1
  83. package/src/commands/mcp/constants.js.map +1 -0
  84. package/src/commands/mcp/mcp-server.d.ts +3 -3
  85. package/src/commands/mcp/mcp-server.js +40 -4
  86. package/src/commands/mcp/mcp-server.js.map +1 -0
  87. package/src/commands/mcp/resources/ai-tutor.md +627 -0
  88. package/src/commands/mcp/resources/instructions.js +1 -0
  89. package/src/commands/mcp/resources/instructions.js.map +1 -0
  90. package/src/commands/mcp/tools/ai-tutor.d.ts +8 -0
  91. package/src/commands/mcp/tools/ai-tutor.js +62 -0
  92. package/src/commands/mcp/tools/ai-tutor.js.map +1 -0
  93. package/src/commands/mcp/tools/best-practices.d.ts +4 -1
  94. package/src/commands/mcp/tools/best-practices.js +167 -22
  95. package/src/commands/mcp/tools/best-practices.js.map +1 -0
  96. package/src/commands/mcp/tools/doc-search.d.ts +20 -1
  97. package/src/commands/mcp/tools/doc-search.js +186 -67
  98. package/src/commands/mcp/tools/doc-search.js.map +1 -0
  99. package/src/commands/mcp/tools/examples.d.ts +35 -1
  100. package/src/commands/mcp/tools/examples.js +414 -56
  101. package/src/commands/mcp/tools/examples.js.map +1 -0
  102. package/src/commands/mcp/tools/modernize.js +29 -27
  103. package/src/commands/mcp/tools/modernize.js.map +1 -0
  104. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze_for_unsupported_zone_uses.d.ts +17 -0
  105. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze_for_unsupported_zone_uses.js +62 -0
  106. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze_for_unsupported_zone_uses.js.map +1 -0
  107. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_single_file.d.ts +12 -0
  108. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_single_file.js +73 -0
  109. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_single_file.js.map +1 -0
  110. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_test_file.d.ts +11 -0
  111. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_test_file.js +106 -0
  112. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_test_file.js.map +1 -0
  113. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.d.ts +15 -0
  114. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js +238 -0
  115. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js.map +1 -0
  116. package/src/commands/mcp/tools/onpush-zoneless-migration/send_debug_message.d.ts +10 -0
  117. package/src/commands/mcp/tools/onpush-zoneless-migration/send_debug_message.js +20 -0
  118. package/src/commands/mcp/tools/onpush-zoneless-migration/send_debug_message.js.map +1 -0
  119. package/src/commands/mcp/tools/onpush-zoneless-migration/ts_utils.d.ts +36 -0
  120. package/src/commands/mcp/tools/onpush-zoneless-migration/ts_utils.js +136 -0
  121. package/src/commands/mcp/tools/onpush-zoneless-migration/ts_utils.js.map +1 -0
  122. package/src/commands/mcp/tools/onpush-zoneless-migration/types.d.ts +13 -0
  123. package/src/commands/mcp/tools/onpush-zoneless-migration/types.js +10 -0
  124. package/src/commands/mcp/tools/onpush-zoneless-migration/types.js.map +1 -0
  125. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.d.ts +14 -0
  126. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js +228 -0
  127. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js.map +1 -0
  128. package/src/commands/mcp/tools/projects.d.ts +75 -16
  129. package/src/commands/mcp/tools/projects.js +427 -30
  130. package/src/commands/mcp/tools/projects.js.map +1 -0
  131. package/src/commands/mcp/tools/tool-registry.d.ts +2 -1
  132. package/src/commands/mcp/tools/tool-registry.js +4 -2
  133. package/src/commands/mcp/tools/tool-registry.js.map +1 -0
  134. package/src/commands/new/cli.js +2 -0
  135. package/src/commands/new/cli.js.map +1 -0
  136. package/src/commands/run/cli.js +1 -0
  137. package/src/commands/run/cli.js.map +1 -0
  138. package/src/commands/serve/cli.js +1 -0
  139. package/src/commands/serve/cli.js.map +1 -0
  140. package/src/commands/test/cli.js +1 -0
  141. package/src/commands/test/cli.js.map +1 -0
  142. package/src/commands/update/cli.js +1 -0
  143. package/src/commands/update/cli.js.map +1 -0
  144. package/src/commands/update/schematic/index.js +1 -0
  145. package/src/commands/update/schematic/index.js.map +1 -0
  146. package/src/commands/update/schematic/schema.d.ts +0 -1
  147. package/src/commands/update/schematic/schema.js +1 -1
  148. package/src/commands/update/schematic/schema.js.map +1 -0
  149. package/src/commands/update/schematic/schema.json +1 -1
  150. package/src/commands/version/cli.d.ts +3 -7
  151. package/src/commands/version/cli.js +50 -49
  152. package/src/commands/version/cli.js.map +1 -0
  153. package/src/commands/version/version-info.d.ts +28 -10
  154. package/src/commands/version/version-info.js +34 -50
  155. package/src/commands/version/version-info.js.map +1 -0
  156. package/src/package-managers/discovery.d.ts +23 -0
  157. package/src/package-managers/discovery.js +110 -0
  158. package/src/package-managers/discovery.js.map +1 -0
  159. package/src/package-managers/error.d.ts +31 -0
  160. package/src/package-managers/error.js +41 -0
  161. package/src/package-managers/error.js.map +1 -0
  162. package/src/package-managers/factory.d.ts +25 -0
  163. package/src/package-managers/factory.js +123 -0
  164. package/src/package-managers/factory.js.map +1 -0
  165. package/src/package-managers/host.d.ts +64 -0
  166. package/src/package-managers/host.js +69 -0
  167. package/src/package-managers/host.js.map +1 -0
  168. package/src/package-managers/index.d.ts +12 -0
  169. package/src/package-managers/index.js +15 -0
  170. package/src/package-managers/index.js.map +1 -0
  171. package/src/package-managers/logger.d.ts +27 -0
  172. package/src/package-managers/logger.js +10 -0
  173. package/src/package-managers/logger.js.map +1 -0
  174. package/src/package-managers/package-manager-descriptor.d.ts +204 -0
  175. package/src/package-managers/package-manager-descriptor.js +147 -0
  176. package/src/package-managers/package-manager-descriptor.js.map +1 -0
  177. package/src/package-managers/package-manager.d.ts +144 -0
  178. package/src/package-managers/package-manager.js +304 -0
  179. package/src/package-managers/package-manager.js.map +1 -0
  180. package/src/package-managers/package-metadata.d.ts +87 -0
  181. package/src/package-managers/package-metadata.js +10 -0
  182. package/src/package-managers/package-metadata.js.map +1 -0
  183. package/src/package-managers/package-tree.d.ts +23 -0
  184. package/src/package-managers/package-tree.js +10 -0
  185. package/src/package-managers/package-tree.js.map +1 -0
  186. package/src/package-managers/parsers.d.ts +92 -0
  187. package/src/package-managers/parsers.js +234 -0
  188. package/src/package-managers/parsers.js.map +1 -0
  189. package/src/package-managers/testing/mock-host.d.ts +26 -0
  190. package/src/package-managers/testing/mock-host.js +53 -0
  191. package/src/package-managers/testing/mock-host.js.map +1 -0
  192. package/src/utilities/color.js +1 -0
  193. package/src/utilities/color.js.map +1 -0
  194. package/src/utilities/completion.js +1 -0
  195. package/src/utilities/completion.js.map +1 -0
  196. package/src/utilities/config.js +1 -0
  197. package/src/utilities/config.js.map +1 -0
  198. package/src/utilities/environment-options.js +1 -0
  199. package/src/utilities/environment-options.js.map +1 -0
  200. package/src/utilities/eol.js +1 -0
  201. package/src/utilities/eol.js.map +1 -0
  202. package/src/utilities/error.js +1 -0
  203. package/src/utilities/error.js.map +1 -0
  204. package/src/utilities/find-up.js +1 -0
  205. package/src/utilities/find-up.js.map +1 -0
  206. package/src/utilities/json-file.js +1 -0
  207. package/src/utilities/json-file.js.map +1 -0
  208. package/src/utilities/log-file.js +1 -0
  209. package/src/utilities/log-file.js.map +1 -0
  210. package/src/utilities/memoize.js +1 -0
  211. package/src/utilities/memoize.js.map +1 -0
  212. package/src/utilities/package-manager.d.ts +12 -0
  213. package/src/utilities/package-manager.js +52 -35
  214. package/src/utilities/package-manager.js.map +1 -0
  215. package/src/utilities/package-metadata.js +1 -0
  216. package/src/utilities/package-metadata.js.map +1 -0
  217. package/src/utilities/package-tree.js +1 -0
  218. package/src/utilities/package-tree.js.map +1 -0
  219. package/src/utilities/project.js +1 -0
  220. package/src/utilities/project.js.map +1 -0
  221. package/src/utilities/prompt.js +1 -0
  222. package/src/utilities/prompt.js.map +1 -0
  223. package/src/utilities/tty.js +1 -0
  224. package/src/utilities/tty.js.map +1 -0
  225. package/src/utilities/version.js +2 -1
  226. package/src/utilities/version.js.map +1 -0
@@ -10,6 +10,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.parseJsonSchemaToOptions = parseJsonSchemaToOptions;
11
11
  exports.addSchemaOptionsToCommand = addSchemaOptionsToCommand;
12
12
  const core_1 = require("@angular-devkit/core");
13
+ /**
14
+ * A Yargs check function that validates that the given options are in the form of `key=value`.
15
+ * @param keyValuePairOptions A set of options that should be in the form of `key=value`.
16
+ * @param args The parsed arguments.
17
+ * @returns `true` if the options are valid, otherwise an error is thrown.
18
+ */
13
19
  function checkStringMap(keyValuePairOptions, args) {
14
20
  for (const key of keyValuePairOptions) {
15
21
  const value = args[key];
@@ -28,6 +34,11 @@ function checkStringMap(keyValuePairOptions, args) {
28
34
  }
29
35
  return true;
30
36
  }
37
+ /**
38
+ * A Yargs coerce function that converts an array of `key=value` strings to an object.
39
+ * @param value An array of `key=value` strings.
40
+ * @returns An object with the keys and values from the input array.
41
+ */
31
42
  function coerceToStringMap(value) {
32
43
  const stringMap = {};
33
44
  for (const pair of value) {
@@ -45,6 +56,12 @@ function coerceToStringMap(value) {
45
56
  }
46
57
  return stringMap;
47
58
  }
59
+ /**
60
+ * Checks if a JSON schema node represents a string map.
61
+ * A string map is an object with `additionalProperties` of type `string`.
62
+ * @param node The JSON schema node to check.
63
+ * @returns `true` if the node represents a string map, otherwise `false`.
64
+ */
48
65
  function isStringMap(node) {
49
66
  // Exclude fields with more specific kinds of properties.
50
67
  if (node.properties || node.patternProperties) {
@@ -55,127 +72,197 @@ function isStringMap(node) {
55
72
  !node.additionalProperties.enum &&
56
73
  node.additionalProperties.type === 'string');
57
74
  }
75
+ const SUPPORTED_PRIMITIVE_TYPES = new Set(['boolean', 'number', 'string']);
76
+ /**
77
+ * Checks if a string is a supported primitive type.
78
+ * @param value The string to check.
79
+ * @returns `true` if the string is a supported primitive type, otherwise `false`.
80
+ */
81
+ function isSupportedPrimitiveType(value) {
82
+ return SUPPORTED_PRIMITIVE_TYPES.has(value);
83
+ }
84
+ /**
85
+ * Recursively checks if a JSON schema for an array's items is a supported primitive type.
86
+ * It supports `oneOf` and `anyOf` keywords.
87
+ * @param schema The JSON schema for the array's items.
88
+ * @returns `true` if the schema is a supported primitive type, otherwise `false`.
89
+ */
90
+ function isSupportedArrayItemSchema(schema) {
91
+ if (typeof schema.type === 'string' && isSupportedPrimitiveType(schema.type)) {
92
+ return true;
93
+ }
94
+ if (core_1.json.isJsonArray(schema.enum)) {
95
+ return true;
96
+ }
97
+ if (core_1.json.isJsonArray(schema.items)) {
98
+ return schema.items.some((item) => (0, core_1.isJsonObject)(item) && isSupportedArrayItemSchema(item));
99
+ }
100
+ if (core_1.json.isJsonArray(schema.oneOf) &&
101
+ schema.oneOf.some((item) => (0, core_1.isJsonObject)(item) && isSupportedArrayItemSchema(item))) {
102
+ return true;
103
+ }
104
+ if (core_1.json.isJsonArray(schema.anyOf) &&
105
+ schema.anyOf.some((item) => (0, core_1.isJsonObject)(item) && isSupportedArrayItemSchema(item))) {
106
+ return true;
107
+ }
108
+ return false;
109
+ }
110
+ /**
111
+ * Gets the supported types for a JSON schema node.
112
+ * @param current The JSON schema node to get the supported types for.
113
+ * @returns An array of supported types.
114
+ */
115
+ function getSupportedTypes(current) {
116
+ const typeSet = core_1.json.schema.getTypesOfSchema(current);
117
+ if (typeSet.size === 0) {
118
+ return [];
119
+ }
120
+ return [...typeSet].filter((type) => {
121
+ switch (type) {
122
+ case 'boolean':
123
+ case 'number':
124
+ case 'string':
125
+ return true;
126
+ case 'array':
127
+ return (0, core_1.isJsonObject)(current.items) && isSupportedArrayItemSchema(current.items);
128
+ case 'object':
129
+ return isStringMap(current);
130
+ default:
131
+ return false;
132
+ }
133
+ });
134
+ }
135
+ /**
136
+ * Gets the enum values for a JSON schema node.
137
+ * @param current The JSON schema node to get the enum values for.
138
+ * @returns An array of enum values.
139
+ */
140
+ function getEnumValues(current) {
141
+ if (core_1.json.isJsonArray(current.enum)) {
142
+ return current.enum.sort();
143
+ }
144
+ if ((0, core_1.isJsonObject)(current.items)) {
145
+ const enumValues = getEnumValues(current.items);
146
+ if (enumValues?.length) {
147
+ return enumValues;
148
+ }
149
+ }
150
+ if (typeof current.type === 'string' && isSupportedPrimitiveType(current.type)) {
151
+ return [];
152
+ }
153
+ const subSchemas = (core_1.json.isJsonArray(current.oneOf) && current.oneOf) ||
154
+ (core_1.json.isJsonArray(current.anyOf) && current.anyOf);
155
+ if (subSchemas) {
156
+ // Find the first enum.
157
+ for (const subSchema of subSchemas) {
158
+ if ((0, core_1.isJsonObject)(subSchema)) {
159
+ const enumValues = getEnumValues(subSchema);
160
+ if (enumValues) {
161
+ return enumValues;
162
+ }
163
+ }
164
+ }
165
+ }
166
+ return [];
167
+ }
168
+ /**
169
+ * Gets the default value for a JSON schema node.
170
+ * @param current The JSON schema node to get the default value for.
171
+ * @param type The type of the JSON schema node.
172
+ * @returns The default value, or `undefined` if there is no default value.
173
+ */
174
+ function getDefaultValue(current, type) {
175
+ const defaultValue = current.default;
176
+ if (defaultValue === undefined) {
177
+ return undefined;
178
+ }
179
+ if (type === 'array') {
180
+ return Array.isArray(defaultValue) && defaultValue.length > 0 ? defaultValue : undefined;
181
+ }
182
+ if (typeof defaultValue === type) {
183
+ return defaultValue;
184
+ }
185
+ return undefined;
186
+ }
187
+ /**
188
+ * Gets the aliases for a JSON schema node.
189
+ * @param current The JSON schema node to get the aliases for.
190
+ * @returns An array of aliases.
191
+ */
192
+ function getAliases(current) {
193
+ if (core_1.json.isJsonArray(current.aliases)) {
194
+ return [...current.aliases].map(String);
195
+ }
196
+ if (current.alias) {
197
+ return [String(current.alias)];
198
+ }
199
+ return [];
200
+ }
201
+ /**
202
+ * Parses a JSON schema to a list of options that can be used by yargs.
203
+ *
204
+ * @param registry A schema registry to use for flattening the schema.
205
+ * @param schema The JSON schema to parse.
206
+ * @param interactive Whether to prompt the user for missing options.
207
+ * @returns A list of options.
208
+ *
209
+ * @note The schema definition are not resolved at this stage. This means that `$ref` will not be resolved,
210
+ * and custom keywords like `x-prompt` will not be processed.
211
+ */
58
212
  async function parseJsonSchemaToOptions(registry, schema, interactive = true) {
59
213
  const options = [];
60
214
  function visitor(current, pointer, parentSchema) {
61
- if (!parentSchema) {
62
- // Ignore root.
63
- return;
64
- }
65
- else if (pointer.split(/\/(?:properties|items|definitions)\//g).length > 2) {
66
- // Ignore subitems (objects or arrays).
67
- return;
68
- }
69
- else if (core_1.json.isJsonArray(current)) {
215
+ if (!parentSchema ||
216
+ core_1.json.isJsonArray(current) ||
217
+ pointer.split(/\/(?:properties|items|definitions)\//g).length > 2) {
218
+ // Ignore root, arrays, and subitems.
70
219
  return;
71
220
  }
72
- if (pointer.indexOf('/not/') != -1) {
221
+ if (pointer.includes('/not/')) {
73
222
  // We don't support anyOf/not.
74
223
  throw new Error('The "not" keyword is not supported in JSON Schema.');
75
224
  }
76
225
  const ptr = core_1.json.schema.parseJsonPointer(pointer);
77
- const name = ptr[ptr.length - 1];
78
- if (ptr[ptr.length - 2] != 'properties') {
226
+ if (ptr[ptr.length - 2] !== 'properties') {
79
227
  // Skip any non-property items.
80
228
  return;
81
229
  }
82
- const typeSet = core_1.json.schema.getTypesOfSchema(current);
83
- if (typeSet.size == 0) {
84
- throw new Error('Cannot find type of schema.');
85
- }
86
- // We only support number, string or boolean (or array of those), so remove everything else.
87
- const types = [...typeSet].filter((x) => {
88
- switch (x) {
89
- case 'boolean':
90
- case 'number':
91
- case 'string':
92
- return true;
93
- case 'array':
94
- // Only include arrays if they're boolean, string or number.
95
- if (core_1.json.isJsonObject(current.items) &&
96
- typeof current.items.type == 'string' &&
97
- isValidTypeForEnum(current.items.type)) {
98
- return true;
99
- }
100
- return false;
101
- case 'object':
102
- return isStringMap(current);
103
- default:
104
- return false;
105
- }
106
- });
107
- if (types.length == 0) {
230
+ const name = ptr[ptr.length - 1];
231
+ const types = getSupportedTypes(current);
232
+ if (types.length === 0) {
108
233
  // This means it's not usable on the command line. e.g. an Object.
109
234
  return;
110
235
  }
111
- // Only keep enum values we support (booleans, numbers and strings).
112
- const enumValues = ((core_1.json.isJsonArray(current.enum) && current.enum) ||
113
- (core_1.json.isJsonObject(current.items) &&
114
- core_1.json.isJsonArray(current.items.enum) &&
115
- current.items.enum) ||
116
- [])
117
- .filter((value) => isValidTypeForEnum(typeof value))
118
- .sort();
119
- let defaultValue = undefined;
120
- if (current.default !== undefined) {
121
- switch (types[0]) {
122
- case 'string':
123
- case 'array':
124
- if (typeof current.default == 'string') {
125
- defaultValue = current.default;
126
- }
127
- break;
128
- case 'number':
129
- if (typeof current.default == 'number') {
130
- defaultValue = current.default;
131
- }
132
- break;
133
- case 'boolean':
134
- if (typeof current.default == 'boolean') {
135
- defaultValue = current.default;
136
- }
137
- break;
138
- }
139
- }
236
+ const [type] = types;
140
237
  const $default = current.$default;
141
- const $defaultIndex = core_1.json.isJsonObject($default) && $default['$source'] == 'argv' ? $default['index'] : undefined;
142
- const positional = typeof $defaultIndex == 'number' ? $defaultIndex : undefined;
143
- let required = core_1.json.isJsonArray(schema.required) ? schema.required.includes(name) : false;
238
+ const $defaultIndex = (0, core_1.isJsonObject)($default) && $default['$source'] === 'argv' ? $default['index'] : undefined;
239
+ const positional = typeof $defaultIndex === 'number' ? $defaultIndex : undefined;
240
+ let required = core_1.json.isJsonArray(schema.required) && schema.required.includes(name);
144
241
  if (required && interactive && current['x-prompt']) {
145
242
  required = false;
146
243
  }
147
- const alias = core_1.json.isJsonArray(current.aliases)
148
- ? [...current.aliases].map((x) => '' + x)
149
- : current.alias
150
- ? ['' + current.alias]
151
- : [];
152
- const format = typeof current.format == 'string' ? current.format : undefined;
153
- const visible = current.visible === undefined || current.visible === true;
154
- const hidden = !!current.hidden || !visible;
155
- const xUserAnalytics = current['x-user-analytics'];
156
- const userAnalytics = typeof xUserAnalytics === 'string' ? xUserAnalytics : undefined;
157
- // Deprecated is set only if it's true or a string.
244
+ const visible = current.visible !== false;
158
245
  const xDeprecated = current['x-deprecated'];
159
- const deprecated = xDeprecated === true || typeof xDeprecated === 'string' ? xDeprecated : undefined;
246
+ const enumValues = getEnumValues(current);
160
247
  const option = {
161
248
  name,
162
- description: '' + (current.description === undefined ? '' : current.description),
163
- default: defaultValue,
164
- choices: enumValues.length ? enumValues : undefined,
249
+ description: String(current.description ?? ''),
250
+ default: getDefaultValue(current, type),
251
+ choices: enumValues?.length ? enumValues : undefined,
165
252
  required,
166
- alias,
167
- format,
168
- hidden,
169
- userAnalytics,
170
- deprecated,
253
+ alias: getAliases(current),
254
+ format: typeof current.format === 'string' ? current.format : undefined,
255
+ hidden: !!current.hidden || !visible,
256
+ userAnalytics: typeof current['x-user-analytics'] === 'string' ? current['x-user-analytics'] : undefined,
257
+ deprecated: xDeprecated === true || typeof xDeprecated === 'string' ? xDeprecated : undefined,
171
258
  positional,
172
- ...(types[0] === 'object'
259
+ ...(type === 'object'
173
260
  ? {
174
261
  type: 'array',
175
262
  itemValueType: 'string',
176
263
  }
177
264
  : {
178
- type: types[0],
265
+ type,
179
266
  }),
180
267
  };
181
268
  options.push(option);
@@ -259,7 +346,4 @@ function addSchemaOptionsToCommand(localYargs, options, includeDefaultValues) {
259
346
  }
260
347
  return optionsWithAnalytics;
261
348
  }
262
- const VALID_ENUM_TYPES = new Set(['boolean', 'number', 'string']);
263
- function isValidTypeForEnum(value) {
264
- return VALID_ENUM_TYPES.has(value);
265
- }
349
+ //# sourceMappingURL=json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["json-schema.ts"],"names":[],"mappings":"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"}
@@ -34,3 +34,4 @@ function createNormalizeOptionsMiddleware(localeYargs) {
34
34
  }
35
35
  };
36
36
  }
37
+ //# sourceMappingURL=normalize-options-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-options-middleware.js","sourceRoot":"","sources":["normalize-options-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAaH,4EAmBC;AA5BD;;;;;;;;GAQG;AACH,SAAgB,gCAAgC,CAAC,WAAiB;IAChE,OAAO,CAAC,IAAe,EAAE,EAAE;QACzB,yEAAyE;QACzE,6CAA6C;QAC7C,8DAA8D;QAC9D,MAAM,EAAE,KAAK,EAAE,GAAI,WAAmB,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC7B,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,WAAW,GAAG,mDAAmD,QAAQ,iBAAiB,CAC3F,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -47,11 +47,9 @@ function shouldWrapSchematic(schematicFile, schematicEncapsulation) {
47
47
  }
48
48
  // Check for first-party Angular schematic packages
49
49
  // Angular schematics are safe to use in the wrapped VM context
50
- if (/\/node_modules\/@(?:angular|schematics|nguniversal)\//.test(normalizedSchematicFile)) {
51
- return true;
52
- }
53
- // Otherwise use the value of the schematic collection's encapsulation option (current default of false)
54
- return schematicEncapsulation;
50
+ const isFirstParty = /\/node_modules\/@(?:angular|schematics|nguniversal)\//.test(normalizedSchematicFile);
51
+ // Use value of defined option if present, otherwise default to first-party usage.
52
+ return schematicEncapsulation ?? isFirstParty;
55
53
  }
56
54
  class SchematicEngineHost extends tools_1.NodeModulesEngineHost {
57
55
  _resolveReferenceString(refString, parentPath, collectionDescription) {
@@ -60,7 +58,7 @@ class SchematicEngineHost extends tools_1.NodeModulesEngineHost {
60
58
  const fullPath = path[0] === '.' ? (0, node_path_1.resolve)(parentPath ?? process.cwd(), path) : path;
61
59
  const referenceRequire = (0, node_module_1.createRequire)(__filename);
62
60
  const schematicFile = referenceRequire.resolve(fullPath, { paths: [parentPath] });
63
- if (shouldWrapSchematic(schematicFile, !!collectionDescription?.encapsulation)) {
61
+ if (shouldWrapSchematic(schematicFile, collectionDescription?.encapsulation)) {
64
62
  const schematicPath = (0, node_path_1.dirname)(schematicFile);
65
63
  const moduleCache = new Map();
66
64
  const factoryInitializer = wrap(schematicFile, schematicPath, moduleCache, name || 'default');
@@ -178,3 +176,4 @@ function wrap(schematicFile, schematicDirectory, moduleCache, exportName) {
178
176
  function loadBuiltinModule(id) {
179
177
  return undefined;
180
178
  }
179
+ //# sourceMappingURL=schematic-engine-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic-engine-host.js","sourceRoot":"","sources":["schematic-engine-host.ts"],"names":[],"mappings":"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"}
@@ -65,3 +65,4 @@ function subscribeToWorkflow(workflow, logger) {
65
65
  },
66
66
  };
67
67
  }
68
+ //# sourceMappingURL=schematic-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic-workflow.js","sourceRoot":"","sources":["schematic-workflow.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ interface AddCommandArgs extends SchematicsCommandArgs {
15
15
  'skip-confirmation'?: boolean;
16
16
  }
17
17
  export default class AddCommandModule extends SchematicsCommandModule implements CommandModuleImplementation<AddCommandArgs> {
18
+ #private;
18
19
  command: string;
19
20
  describe: string;
20
21
  longDescriptionPath: string;
@@ -33,6 +34,6 @@ export default class AddCommandModule extends SchematicsCommandModule implements
33
34
  private isPackageInstalled;
34
35
  private executeSchematic;
35
36
  private findProjectVersion;
36
- private hasMismatchedPeer;
37
+ private getPeerDependencyConflicts;
37
38
  }
38
39
  export {};