@angular/core 20.0.0 → 20.1.0-next.0

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 (74) hide show
  1. package/{api.d-B0vztftH.d.ts → api.d-Dwpmmn5j.d.ts} +2 -2
  2. package/{chrome_dev_tools_performance.d-DvzAxqBc.d.ts → chrome_dev_tools_performance.d-Dk_7kdX9.d.ts} +5 -1
  3. package/{discovery.d-DZNIp-Fw.d.ts → discovery.d-BAZTj_rM.d.ts} +9 -10
  4. package/event_dispatcher.d-BReQpZfC.d.ts +1 -1
  5. package/fesm2022/attribute-BWp59EjE.mjs +1 -1
  6. package/fesm2022/attribute-BWp59EjE.mjs.map +1 -1
  7. package/fesm2022/core.mjs +15 -14
  8. package/fesm2022/core.mjs.map +1 -1
  9. package/fesm2022/{debug_node-Dn-GvQJo.mjs → debug_node-CjNGi9N3.mjs} +1510 -1474
  10. package/fesm2022/debug_node-CjNGi9N3.mjs.map +1 -0
  11. package/fesm2022/primitives/di.mjs +1 -1
  12. package/fesm2022/primitives/di.mjs.map +1 -1
  13. package/fesm2022/primitives/event-dispatch.mjs +93 -2
  14. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  15. package/fesm2022/primitives/signals.mjs +4 -4
  16. package/fesm2022/primitives/signals.mjs.map +1 -1
  17. package/fesm2022/{resource-BPCh38bN.mjs → resource-1o9xbJml.mjs} +8 -6
  18. package/fesm2022/resource-1o9xbJml.mjs.map +1 -0
  19. package/fesm2022/{root_effect_scheduler-0BxwqIgm.mjs → root_effect_scheduler-Ds-Wmkv_.mjs} +33 -20
  20. package/fesm2022/root_effect_scheduler-Ds-Wmkv_.mjs.map +1 -0
  21. package/fesm2022/rxjs-interop.mjs +12 -7
  22. package/fesm2022/rxjs-interop.mjs.map +1 -1
  23. package/fesm2022/{signal-ePSl6jXn.mjs → signal-BZ1SD--i.mjs} +8 -9
  24. package/fesm2022/{signal-ePSl6jXn.mjs.map → signal-BZ1SD--i.mjs.map} +1 -1
  25. package/fesm2022/testing.mjs +23 -33
  26. package/fesm2022/testing.mjs.map +1 -1
  27. package/fesm2022/{untracked-2ouAFbCz.mjs → untracked-C72kieeB.mjs} +3 -3
  28. package/fesm2022/{untracked-2ouAFbCz.mjs.map → untracked-C72kieeB.mjs.map} +1 -1
  29. package/fesm2022/weak_ref-BaIq-pgY.mjs +1 -1
  30. package/fesm2022/weak_ref-BaIq-pgY.mjs.map +1 -1
  31. package/graph.d-BcIOep_B.d.ts +1 -1
  32. package/index.d.ts +26 -18
  33. package/package.json +2 -2
  34. package/primitives/di/index.d.ts +1 -1
  35. package/primitives/event-dispatch/index.d.ts +1 -1
  36. package/primitives/signals/index.d.ts +3 -3
  37. package/rxjs-interop/index.d.ts +3 -3
  38. package/schematics/bundles/{apply_import_manager-Bqnvtho4.cjs → apply_import_manager-CSEu0fby.cjs} +3 -3
  39. package/schematics/bundles/{compiler-Dl11rH6-.cjs → checker-CuQvkMhs.cjs} +18876 -710
  40. package/schematics/bundles/cleanup-unused-imports.cjs +12 -9
  41. package/schematics/bundles/{change_tracker-DaCWdziV.cjs → compiler_host-Biezhzch.cjs} +121 -3
  42. package/schematics/bundles/control-flow-migration.cjs +46 -25
  43. package/schematics/bundles/document-core.cjs +5 -6
  44. package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
  45. package/schematics/bundles/{index-DPvX-lSh.cjs → index-C5wL4qaq.cjs} +1486 -1071
  46. package/schematics/bundles/{index-CYxAVSJC.cjs → index-vkqofxID.cjs} +37 -37
  47. package/schematics/bundles/inject-flags.cjs +5 -6
  48. package/schematics/bundles/inject-migration.cjs +5 -7
  49. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  50. package/schematics/bundles/{migrate_ts_type_references-DWUePVh6.cjs → migrate_ts_type_references-BYgEQg0O.cjs} +26 -78
  51. package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
  52. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  53. package/schematics/bundles/output-migration.cjs +7 -8
  54. package/schematics/bundles/{project_paths-BPBAn_A2.cjs → project_paths-KPCsvRfl.cjs} +3 -4
  55. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +1 -1
  56. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  57. package/schematics/bundles/route-lazy-loading.cjs +5 -7
  58. package/schematics/bundles/self-closing-tags-migration.cjs +12 -25
  59. package/schematics/bundles/signal-input-migration.cjs +28 -13
  60. package/schematics/bundles/signal-queries-migration.cjs +13 -14
  61. package/schematics/bundles/signals.cjs +7 -8
  62. package/schematics/bundles/standalone-migration.cjs +9 -11
  63. package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
  64. package/schematics/bundles/test-bed-get.cjs +4 -5
  65. package/schematics/collection.json +6 -0
  66. package/schematics/migrations/control-flow-migration/schema.json +20 -0
  67. package/{signal.d-D6VJ67xi.d.ts → signal.d-fOdF0h0o.d.ts} +4 -3
  68. package/testing/index.d.ts +4 -4
  69. package/weak_ref.d-eGOEP9S1.d.ts +1 -1
  70. package/fesm2022/debug_node-Dn-GvQJo.mjs.map +0 -1
  71. package/fesm2022/resource-BPCh38bN.mjs.map +0 -1
  72. package/fesm2022/root_effect_scheduler-0BxwqIgm.mjs.map +0 -1
  73. package/schematics/bundles/checker-BHgMyU8j.cjs +0 -17996
  74. package/schematics/bundles/compiler_host-CAfDJO3W.cjs +0 -129
@@ -1,22 +1,21 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0
3
+ * @license Angular v20.1.0-next.0
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var migrate_ts_type_references = require('./migrate_ts_type_references-DWUePVh6.cjs');
9
+ var migrate_ts_type_references = require('./migrate_ts_type_references-BYgEQg0O.cjs');
10
10
  var ts = require('typescript');
11
11
  require('os');
12
- var checker = require('./checker-BHgMyU8j.cjs');
13
- require('./compiler-Dl11rH6-.cjs');
14
- var index$1 = require('./index-DPvX-lSh.cjs');
12
+ var checker = require('./checker-CuQvkMhs.cjs');
13
+ var index$1 = require('./index-C5wL4qaq.cjs');
15
14
  require('path');
16
- var project_paths = require('./project_paths-BPBAn_A2.cjs');
17
- var index = require('./index-CYxAVSJC.cjs');
15
+ var project_paths = require('./project_paths-KPCsvRfl.cjs');
16
+ var index = require('./index-vkqofxID.cjs');
18
17
  var assert = require('assert');
19
- var apply_import_manager = require('./apply_import_manager-Bqnvtho4.cjs');
18
+ var apply_import_manager = require('./apply_import_manager-CSEu0fby.cjs');
20
19
  require('@angular-devkit/core');
21
20
  require('node:path/posix');
22
21
  require('./leading_space-D9nQ8UQC.cjs');
@@ -434,7 +433,8 @@ function parseTransformOfInput(evaluatedInputOpts, node, reflector) {
434
433
  },
435
434
  ]);
436
435
  try {
437
- return checker.parseDecoratorInputTransformFunction(node.parent, node.name.text, transformValue, reflector, noopRefEmitter, checker.CompilationMode.FULL);
436
+ return checker.parseDecoratorInputTransformFunction(node.parent, node.name.text, transformValue, reflector, noopRefEmitter, checker.CompilationMode.FULL,
437
+ /* emitDeclarationOnly */ false);
438
438
  }
439
439
  catch (e) {
440
440
  if (!(e instanceof checker.FatalDiagnosticError)) {
@@ -1144,8 +1144,16 @@ function pass7__migrateTemplateReferences(host, references) {
1144
1144
  if (!host.shouldMigrateReferencesToField(reference.target)) {
1145
1145
  continue;
1146
1146
  }
1147
+ const parent = reference.from.readAstPath.at(-2);
1148
+ let readEndPos;
1149
+ if (reference.from.isWrite && parent) {
1150
+ readEndPos = parent.sourceSpan.end;
1151
+ }
1152
+ else {
1153
+ readEndPos = reference.from.read.sourceSpan.end;
1154
+ }
1147
1155
  // Skip duplicate references. E.g. if a template is shared.
1148
- const fileReferenceId = `${reference.from.templateFile.id}:${reference.from.read.sourceSpan.end}`;
1156
+ const fileReferenceId = `${reference.from.templateFile.id}:${readEndPos}`;
1149
1157
  if (seenFileReferences.has(fileReferenceId)) {
1150
1158
  continue;
1151
1159
  }
@@ -1155,8 +1163,8 @@ function pass7__migrateTemplateReferences(host, references) {
1155
1163
  ? `: ${reference.from.read.name}()`
1156
1164
  : `()`;
1157
1165
  host.replacements.push(new project_paths.Replacement(reference.from.templateFile, new project_paths.TextUpdate({
1158
- position: reference.from.read.sourceSpan.end,
1159
- end: reference.from.read.sourceSpan.end,
1166
+ position: readEndPos,
1167
+ end: readEndPos,
1160
1168
  toInsert: appendText,
1161
1169
  })));
1162
1170
  }
@@ -1179,7 +1187,14 @@ function pass8__migrateHostBindings(host, references, info) {
1179
1187
  }
1180
1188
  const bindingField = reference.from.hostPropertyNode;
1181
1189
  const expressionOffset = bindingField.getStart() + 1; // account for quotes.
1182
- const readEndPos = expressionOffset + reference.from.read.sourceSpan.end;
1190
+ const parent = reference.from.readAstPath.at(-2);
1191
+ let readEndPos;
1192
+ if (reference.from.isWrite && parent) {
1193
+ readEndPos = expressionOffset + parent.sourceSpan.end;
1194
+ }
1195
+ else {
1196
+ readEndPos = expressionOffset + reference.from.read.sourceSpan.end;
1197
+ }
1183
1198
  // Skip duplicate references. Can happen if the host object is shared.
1184
1199
  if (seenReferences.get(bindingField)?.has(readEndPos)) {
1185
1200
  continue;
@@ -1,22 +1,21 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0
3
+ * @license Angular v20.1.0-next.0
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var compiler = require('./compiler-Dl11rH6-.cjs');
9
+ var checker = require('./checker-CuQvkMhs.cjs');
10
10
  var ts = require('typescript');
11
- var checker = require('./checker-BHgMyU8j.cjs');
12
11
  require('os');
13
- var index$1 = require('./index-DPvX-lSh.cjs');
12
+ var index$1 = require('./index-C5wL4qaq.cjs');
14
13
  require('path');
15
- var project_paths = require('./project_paths-BPBAn_A2.cjs');
16
- var apply_import_manager = require('./apply_import_manager-Bqnvtho4.cjs');
17
- var migrate_ts_type_references = require('./migrate_ts_type_references-DWUePVh6.cjs');
14
+ var project_paths = require('./project_paths-KPCsvRfl.cjs');
15
+ var apply_import_manager = require('./apply_import_manager-CSEu0fby.cjs');
16
+ var migrate_ts_type_references = require('./migrate_ts_type_references-BYgEQg0O.cjs');
18
17
  var assert = require('assert');
19
- var index = require('./index-CYxAVSJC.cjs');
18
+ var index = require('./index-vkqofxID.cjs');
20
19
  require('@angular-devkit/core');
21
20
  require('node:path/posix');
22
21
  require('fs');
@@ -135,7 +134,7 @@ function extractQueryListType(node) {
135
134
  * --> read stays
136
135
  * --> emitDistinctChangesOnly is gone!
137
136
  */
138
- function computeReplacementsToMigrateQuery(node, metadata, importManager, info, printer, options, checker) {
137
+ function computeReplacementsToMigrateQuery(node, metadata, importManager, info, printer, options, checker$1) {
139
138
  const sf = node.getSourceFile();
140
139
  let newQueryFn = importManager.addImport({
141
140
  requestedFile: sf,
@@ -160,7 +159,7 @@ function computeReplacementsToMigrateQuery(node, metadata, importManager, info,
160
159
  }
161
160
  }
162
161
  if (metadata.queryInfo.read !== null) {
163
- assert(metadata.queryInfo.read instanceof compiler.WrappedNodeExpr);
162
+ assert(metadata.queryInfo.read instanceof checker.WrappedNodeExpr);
164
163
  optionProperties.push(ts.factory.createPropertyAssignment('read', metadata.queryInfo.read.node));
165
164
  }
166
165
  if (metadata.queryInfo.descendants !== defaultDescendants) {
@@ -184,7 +183,7 @@ function computeReplacementsToMigrateQuery(node, metadata, importManager, info,
184
183
  node.initializer === undefined &&
185
184
  node.questionToken === undefined &&
186
185
  type !== undefined &&
187
- !checker.isTypeAssignableTo(checker.getUndefinedType(), checker.getTypeFromTypeNode(type))) {
186
+ !checker$1.isTypeAssignableTo(checker$1.getUndefinedType(), checker$1.getTypeFromTypeNode(type))) {
188
187
  isRequired = true;
189
188
  }
190
189
  if (isRequired && metadata.queryInfo.first) {
@@ -204,7 +203,7 @@ function computeReplacementsToMigrateQuery(node, metadata, importManager, info,
204
203
  // If the original property type and the read type are matching, we can rely
205
204
  // on the TS inference, instead of repeating types, like in `viewChild<Button>(Button)`.
206
205
  if (type !== undefined &&
207
- resolvedReadType instanceof compiler.WrappedNodeExpr &&
206
+ resolvedReadType instanceof checker.WrappedNodeExpr &&
208
207
  ts.isIdentifier(resolvedReadType.node) &&
209
208
  ts.isTypeReferenceNode(type) &&
210
209
  ts.isIdentifier(type.typeName) &&
@@ -533,7 +532,7 @@ function checkNonTsReferenceAccessesField(ref, fieldName) {
533
532
  if (ref.from.read !== readFromPath) {
534
533
  return null;
535
534
  }
536
- if (!(parentRead instanceof compiler.PropertyRead) || parentRead.name !== fieldName) {
535
+ if (!(parentRead instanceof checker.PropertyRead) || parentRead.name !== fieldName) {
537
536
  return null;
538
537
  }
539
538
  return parentRead;
@@ -571,7 +570,7 @@ function checkNonTsReferenceCallsField(ref, fieldName) {
571
570
  return null;
572
571
  }
573
572
  const potentialCall = ref.from.readAstPath[accessIdx - 1];
574
- if (potentialCall === undefined || !(potentialCall instanceof compiler.Call)) {
573
+ if (potentialCall === undefined || !(potentialCall instanceof checker.Call)) {
575
574
  return null;
576
575
  }
577
576
  return potentialCall;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0
3
+ * @license Angular v20.1.0-next.0
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,23 +10,22 @@ var schematics = require('@angular-devkit/schematics');
10
10
  var signalQueriesMigration = require('./signal-queries-migration.cjs');
11
11
  var signalInputMigration = require('./signal-input-migration.cjs');
12
12
  var outputMigration = require('./output-migration.cjs');
13
- require('./compiler-Dl11rH6-.cjs');
13
+ require('./checker-CuQvkMhs.cjs');
14
14
  require('typescript');
15
- require('./checker-BHgMyU8j.cjs');
16
15
  require('os');
17
16
  require('fs');
18
17
  require('module');
19
18
  require('path');
20
19
  require('url');
21
- require('./index-DPvX-lSh.cjs');
22
- require('./project_paths-BPBAn_A2.cjs');
20
+ require('./index-C5wL4qaq.cjs');
21
+ require('./project_paths-KPCsvRfl.cjs');
23
22
  require('@angular-devkit/core');
24
23
  require('node:path/posix');
25
24
  require('./project_tsconfig_paths-CDVxT6Ov.cjs');
26
- require('./apply_import_manager-Bqnvtho4.cjs');
27
- require('./migrate_ts_type_references-DWUePVh6.cjs');
25
+ require('./apply_import_manager-CSEu0fby.cjs');
26
+ require('./migrate_ts_type_references-BYgEQg0O.cjs');
28
27
  require('assert');
29
- require('./index-CYxAVSJC.cjs');
28
+ require('./index-vkqofxID.cjs');
30
29
  require('./leading_space-D9nQ8UQC.cjs');
31
30
 
32
31
  function migrate(options) {
@@ -1,25 +1,23 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0
3
+ * @license Angular v20.1.0-next.0
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
- var index = require('./index-DPvX-lSh.cjs');
10
+ var index = require('./index-C5wL4qaq.cjs');
11
11
  var fs = require('fs');
12
12
  var p = require('path');
13
13
  var ts = require('typescript');
14
- var change_tracker = require('./change_tracker-DaCWdziV.cjs');
14
+ var compiler_host = require('./compiler_host-Biezhzch.cjs');
15
15
  var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.cjs');
16
- var compiler_host = require('./compiler_host-CAfDJO3W.cjs');
17
16
  var ng_decorators = require('./ng_decorators-B5HCqr20.cjs');
18
17
  var nodes = require('./nodes-B16H9JUd.cjs');
19
18
  var symbol = require('./symbol-VPWguRxr.cjs');
20
19
  var imports = require('./imports-CIX-JgAN.cjs');
21
- require('./compiler-Dl11rH6-.cjs');
22
- var checker = require('./checker-BHgMyU8j.cjs');
20
+ var checker = require('./checker-CuQvkMhs.cjs');
23
21
  require('os');
24
22
  require('@angular-devkit/core');
25
23
  require('module');
@@ -236,7 +234,7 @@ function getRelativeImportPath(fromFile, toFile) {
236
234
  path = './' + path;
237
235
  }
238
236
  // Using the Node utilities can yield paths with forward slashes on Windows.
239
- return change_tracker.normalizePath(path);
237
+ return compiler_host.normalizePath(path);
240
238
  }
241
239
  /** Function used to remap the generated `imports` for a component to known shorter aliases. */
242
240
  function knownInternalAliasRemapper(imports) {
@@ -333,7 +331,7 @@ function toStandalone(sourceFiles, program, printer, fileImportRemapper, declara
333
331
  const modulesToMigrate = new Set();
334
332
  const testObjectsToMigrate = new Set();
335
333
  const declarations = new Set();
336
- const tracker = new change_tracker.ChangeTracker(printer, fileImportRemapper);
334
+ const tracker = new compiler_host.ChangeTracker(printer, fileImportRemapper);
337
335
  for (const sourceFile of sourceFiles) {
338
336
  const modules = findNgModuleClassesToMigrate(sourceFile, typeChecker);
339
337
  const testObjects = findTestObjectsToMigrate(sourceFile, typeChecker);
@@ -912,7 +910,7 @@ function isStandaloneDeclaration(node, declarationsInMigration, templateTypeChec
912
910
  */
913
911
  function pruneNgModules(program, host, basePath, rootFileNames, sourceFiles, printer, importRemapper, referenceLookupExcludedFiles, declarationImportRemapper) {
914
912
  const filesToRemove = new Set();
915
- const tracker = new change_tracker.ChangeTracker(printer, importRemapper);
913
+ const tracker = new compiler_host.ChangeTracker(printer, importRemapper);
916
914
  const tsProgram = program.getTsProgram();
917
915
  const typeChecker = tsProgram.getTypeChecker();
918
916
  const templateTypeChecker = program.compiler.getTemplateTypeChecker();
@@ -1396,7 +1394,7 @@ function isInImportsArray(closestAssignment, closestArray) {
1396
1394
  * found in the LICENSE file at https://angular.dev/license
1397
1395
  */
1398
1396
  function toStandaloneBootstrap(program, host, basePath, rootFileNames, sourceFiles, printer, importRemapper, referenceLookupExcludedFiles, declarationImportRemapper) {
1399
- const tracker = new change_tracker.ChangeTracker(printer, importRemapper);
1397
+ const tracker = new compiler_host.ChangeTracker(printer, importRemapper);
1400
1398
  const typeChecker = program.getTsProgram().getTypeChecker();
1401
1399
  const templateTypeChecker = program.compiler.getTemplateTypeChecker();
1402
1400
  const referenceResolver = new ReferenceResolver(program, host, rootFileNames, basePath, referenceLookupExcludedFiles);
@@ -1989,7 +1987,7 @@ function migrate(options) {
1989
1987
  const allPaths = [...buildPaths, ...testPaths];
1990
1988
  // TS and Schematic use paths in POSIX format even on Windows. This is needed as otherwise
1991
1989
  // string matching such as `sourceFile.fileName.startsWith(pathToMigrate)` might not work.
1992
- const pathToMigrate = change_tracker.normalizePath(p.join(basePath, options.path));
1990
+ const pathToMigrate = compiler_host.normalizePath(p.join(basePath, options.path));
1993
1991
  let migratedFiles = 0;
1994
1992
  if (!allPaths.length) {
1995
1993
  throw new schematics.SchematicsException('Could not find any tsconfig file. Cannot run the standalone migration.');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0
3
+ * @license Angular v20.1.0-next.0
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0
3
+ * @license Angular v20.1.0-next.0
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,11 +8,10 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- require('./checker-BHgMyU8j.cjs');
12
- require('./compiler-Dl11rH6-.cjs');
13
- require('./index-DPvX-lSh.cjs');
11
+ require('./checker-CuQvkMhs.cjs');
12
+ require('./index-C5wL4qaq.cjs');
14
13
  require('path');
15
- var project_paths = require('./project_paths-BPBAn_A2.cjs');
14
+ var project_paths = require('./project_paths-KPCsvRfl.cjs');
16
15
  var imports = require('./imports-CIX-JgAN.cjs');
17
16
  var symbol = require('./symbol-VPWguRxr.cjs');
18
17
  require('@angular-devkit/core');
@@ -51,6 +51,12 @@
51
51
  "factory": "./bundles/self-closing-tags-migration.cjs#migrate",
52
52
  "schema": "./ng-generate/self-closing-tags-migration/schema.json",
53
53
  "aliases": ["self-closing-tag"]
54
+ },
55
+ "control-flow-migration": {
56
+ "description": "Converts the entire application to block control flow syntax",
57
+ "factory": "./bundles/control-flow-migration.cjs#migrate",
58
+ "schema": "./migrations/control-flow-migration/schema.json",
59
+ "aliases": ["control-flow"]
54
60
  }
55
61
  }
56
62
  }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "AngularControlFlowMigration",
4
+ "title": "Angular Control Flow Migration Schema",
5
+ "type": "object",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "description": "Path relative to the project root which should be migrated",
10
+ "x-prompt": "Which path in your project should be migrated?",
11
+ "default": "./"
12
+ },
13
+ "format": {
14
+ "type": "boolean",
15
+ "description": "Enables reformatting of your templates",
16
+ "x-prompt": "Should the migration reformat your templates?",
17
+ "default": "true"
18
+ }
19
+ }
20
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.0.0
2
+ * @license Angular v20.1.0-next.0
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -19,11 +19,12 @@ interface SignalGetter<T> extends SignalBaseGetter<T> {
19
19
  readonly [SIGNAL]: SignalNode<T>;
20
20
  }
21
21
  /**
22
- * Create a `Signal` that can be set or updated directly.
22
+ * Creates a `Signal` getter, setter, and updater function.
23
23
  */
24
- declare function createSignal<T>(initialValue: T, equal?: ValueEqualityFn<T>): SignalGetter<T>;
24
+ declare function createSignal<T>(initialValue: T, equal?: ValueEqualityFn<T>): [SignalGetter<T>, SignalSetter<T>, SignalUpdater<T>];
25
25
  /**
26
26
  * Creates a `Signal` getter, setter, and updater function.
27
+ * @deprecated use createSignal
27
28
  */
28
29
  declare function createSignalTuple<T>(initialValue: T, equal?: ValueEqualityFn<T>): [SignalGetter<T>, SignalSetter<T>, SignalUpdater<T>];
29
30
  declare function setPostSignalSetFn(fn: ReactiveHookFn | null): ReactiveHookFn | null;
@@ -1,16 +1,16 @@
1
1
  /**
2
- * @license Angular v20.0.0
2
+ * @license Angular v20.1.0-next.0
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
7
  import '../event_dispatcher.d-BReQpZfC.js';
8
- import { InjectionToken, Type, ProviderToken, InjectOptions } from '../chrome_dev_tools_performance.d-DvzAxqBc.js';
9
- import { DeferBlockDetails, DeferBlockState, ComponentRef, DebugElement, ElementRef, ChangeDetectorRef, NgZone, SchemaMetadata, DeferBlockBehavior, PlatformRef, NgModule, Component, Directive, Pipe, Navigation, NavigationHistoryEntry, NavigationNavigateOptions, NavigationResult, NavigationOptions, NavigateEvent, NavigationCurrentEntryChangeEvent, NavigationTransition, NavigationUpdateCurrentEntryOptions, NavigationReloadOptions } from '../discovery.d-DZNIp-Fw.js';
8
+ import { InjectionToken, Type, ProviderToken, InjectOptions } from '../chrome_dev_tools_performance.d-Dk_7kdX9.js';
9
+ import { DeferBlockDetails, DeferBlockState, ComponentRef, DebugElement, ElementRef, ChangeDetectorRef, NgZone, SchemaMetadata, DeferBlockBehavior, PlatformRef, NgModule, Component, Directive, Pipe, Navigation, NavigationNavigateOptions, NavigationOptions, NavigateEvent, NavigationCurrentEntryChangeEvent, NavigationTransition, NavigationUpdateCurrentEntryOptions, NavigationReloadOptions, NavigationResult, NavigationHistoryEntry } from '../discovery.d-BAZTj_rM.js';
10
10
  import * as i0 from '@angular/core';
11
11
  import '../graph.d-BcIOep_B.js';
12
12
  import 'rxjs';
13
- import '../signal.d-D6VJ67xi.js';
13
+ import '../signal.d-fOdF0h0o.js';
14
14
  import '@angular/core/primitives/di';
15
15
 
16
16
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.0.0
2
+ * @license Angular v20.1.0-next.0
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */