@angular/core 18.1.2 → 18.1.3

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 (41) hide show
  1. package/esm2022/src/application/application_init.mjs +2 -2
  2. package/esm2022/src/application/application_module.mjs +2 -2
  3. package/esm2022/src/application/application_ref.mjs +2 -2
  4. package/esm2022/src/change_detection/scheduling/ng_zone_scheduling.mjs +3 -10
  5. package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +2 -2
  6. package/esm2022/src/console.mjs +2 -2
  7. package/esm2022/src/core_private_export.mjs +2 -1
  8. package/esm2022/src/error_handler.mjs +4 -2
  9. package/esm2022/src/event_delegation_utils.mjs +2 -2
  10. package/esm2022/src/image_performance_warning.mjs +2 -2
  11. package/esm2022/src/linker/compiler.mjs +2 -2
  12. package/esm2022/src/platform/platform_ref.mjs +2 -2
  13. package/esm2022/src/render3/component_ref.mjs +1 -1
  14. package/esm2022/src/render3/node_manipulation.mjs +9 -2
  15. package/esm2022/src/testability/testability.mjs +3 -3
  16. package/esm2022/src/util/callback_scheduler.mjs +26 -23
  17. package/esm2022/src/version.mjs +1 -1
  18. package/esm2022/testing/src/application_error_handler.mjs +43 -0
  19. package/esm2022/testing/src/component_fixture.mjs +13 -2
  20. package/esm2022/testing/src/logger.mjs +3 -3
  21. package/esm2022/testing/src/test_bed_common.mjs +1 -1
  22. package/esm2022/testing/src/test_bed_compiler.mjs +24 -2
  23. package/fesm2022/core.mjs +723 -718
  24. package/fesm2022/core.mjs.map +1 -1
  25. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  26. package/fesm2022/primitives/signals.mjs +1 -1
  27. package/fesm2022/rxjs-interop.mjs +1 -1
  28. package/fesm2022/testing.mjs +69 -3
  29. package/fesm2022/testing.mjs.map +1 -1
  30. package/index.d.ts +9 -1
  31. package/package.json +1 -1
  32. package/primitives/event-dispatch/index.d.ts +1 -1
  33. package/primitives/signals/index.d.ts +1 -1
  34. package/rxjs-interop/index.d.ts +1 -1
  35. package/schematics/migrations/invalid-two-way-bindings/bundle.js +6 -5
  36. package/schematics/migrations/invalid-two-way-bindings/bundle.js.map +2 -2
  37. package/schematics/ng-generate/control-flow-migration/bundle.js +6 -5
  38. package/schematics/ng-generate/control-flow-migration/bundle.js.map +2 -2
  39. package/schematics/ng-generate/standalone-migration/bundle.js +109 -76
  40. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  41. package/testing/index.d.ts +2 -1
@@ -866,6 +866,7 @@ var require_lrucache = __commonJS({
866
866
  // node_modules/semver/classes/range.js
867
867
  var require_range = __commonJS({
868
868
  "node_modules/semver/classes/range.js"(exports, module2) {
869
+ var SPACE_CHARACTERS = /\s+/g;
869
870
  var Range = class {
870
871
  constructor(range, options) {
871
872
  options = parseOptions(options);
@@ -879,13 +880,13 @@ var require_range = __commonJS({
879
880
  if (range instanceof Comparator) {
880
881
  this.raw = range.value;
881
882
  this.set = [[range]];
882
- this.format();
883
+ this.formatted = void 0;
883
884
  return this;
884
885
  }
885
886
  this.options = options;
886
887
  this.loose = !!options.loose;
887
888
  this.includePrerelease = !!options.includePrerelease;
888
- this.raw = range.trim().split(/\s+/).join(" ");
889
+ this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
889
890
  this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
890
891
  if (!this.set.length) {
891
892
  throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
@@ -904,10 +905,27 @@ var require_range = __commonJS({
904
905
  }
905
906
  }
906
907
  }
907
- this.format();
908
+ this.formatted = void 0;
909
+ }
910
+ get range() {
911
+ if (this.formatted === void 0) {
912
+ this.formatted = "";
913
+ for (let i = 0; i < this.set.length; i++) {
914
+ if (i > 0) {
915
+ this.formatted += "||";
916
+ }
917
+ const comps = this.set[i];
918
+ for (let k = 0; k < comps.length; k++) {
919
+ if (k > 0) {
920
+ this.formatted += " ";
921
+ }
922
+ this.formatted += comps[k].toString().trim();
923
+ }
924
+ }
925
+ }
926
+ return this.formatted;
908
927
  }
909
928
  format() {
910
- this.range = this.set.map((comps) => comps.join(" ").trim()).join("||").trim();
911
929
  return this.range;
912
930
  }
913
931
  toString() {
@@ -5952,7 +5970,7 @@ var FactoryTarget;
5952
5970
  FactoryTarget3[FactoryTarget3["NgModule"] = 4] = "NgModule";
5953
5971
  })(FactoryTarget || (FactoryTarget = {}));
5954
5972
  function compileFactoryFunction(meta) {
5955
- const t = variable("t");
5973
+ const t = variable("\u0275t");
5956
5974
  let baseFactoryVar = null;
5957
5975
  const typeForCtor = !isDelegatedFactoryMetadata(meta) ? new BinaryOperatorExpr(BinaryOperator.Or, t, meta.type.value) : t;
5958
5976
  let ctorExpr = null;
@@ -5967,7 +5985,7 @@ function compileFactoryFunction(meta) {
5967
5985
  const body = [];
5968
5986
  let retExpr = null;
5969
5987
  function makeConditionalFactory(nonCtorExpr) {
5970
- const r = variable("r");
5988
+ const r = variable("\u0275r");
5971
5989
  body.push(r.set(NULL_EXPR).toDeclStmt());
5972
5990
  const ctorStmt = ctorExpr !== null ? r.set(ctorExpr).toStmt() : importExpr(Identifiers.invalidFactory).callFn([]).toStmt();
5973
5991
  body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));
@@ -5991,7 +6009,7 @@ function compileFactoryFunction(meta) {
5991
6009
  } else {
5992
6010
  body.push(new ReturnStatement(retExpr));
5993
6011
  }
5994
- let factoryFn = fn([new FnParam("t", DYNAMIC_TYPE)], body, INFERRED_TYPE, void 0, `${meta.name}_Factory`);
6012
+ let factoryFn = fn([new FnParam(t.name, DYNAMIC_TYPE)], body, INFERRED_TYPE, void 0, `${meta.name}_Factory`);
5995
6013
  if (baseFactoryVar !== null) {
5996
6014
  factoryFn = arrowFn([], [new DeclareVarStmt(baseFactoryVar.name), new ReturnStatement(factoryFn)]).callFn([], void 0, true);
5997
6015
  }
@@ -7776,7 +7794,8 @@ function delegateToFactory(type, useType, unwrapForwardRefs) {
7776
7794
  return createFactoryFunction(unwrappedType);
7777
7795
  }
7778
7796
  function createFactoryFunction(type) {
7779
- return arrowFn([new FnParam("t", DYNAMIC_TYPE)], type.prop("\u0275fac").callFn([variable("t")]));
7797
+ const t = new FnParam("\u0275t", DYNAMIC_TYPE);
7798
+ return arrowFn([t], type.prop("\u0275fac").callFn([variable(t.name)]));
7780
7799
  }
7781
7800
 
7782
7801
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/assertions.mjs
@@ -26083,7 +26102,7 @@ function publishFacade(global) {
26083
26102
  }
26084
26103
 
26085
26104
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/version.mjs
26086
- var VERSION2 = new Version("18.1.2");
26105
+ var VERSION2 = new Version("18.1.3");
26087
26106
 
26088
26107
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
26089
26108
  var _I18N_ATTR = "i18n";
@@ -27187,7 +27206,7 @@ var MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = "18.0.0";
27187
27206
  function compileDeclareClassMetadata(metadata) {
27188
27207
  const definitionMap = new DefinitionMap();
27189
27208
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION));
27190
- definitionMap.set("version", literal("18.1.2"));
27209
+ definitionMap.set("version", literal("18.1.3"));
27191
27210
  definitionMap.set("ngImport", importExpr(Identifiers.core));
27192
27211
  definitionMap.set("type", metadata.type);
27193
27212
  definitionMap.set("decorators", metadata.decorators);
@@ -27206,7 +27225,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
27206
27225
  callbackReturnDefinitionMap.set("ctorParameters", (_a2 = metadata.ctorParameters) != null ? _a2 : literal(null));
27207
27226
  callbackReturnDefinitionMap.set("propDecorators", (_b2 = metadata.propDecorators) != null ? _b2 : literal(null));
27208
27227
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
27209
- definitionMap.set("version", literal("18.1.2"));
27228
+ definitionMap.set("version", literal("18.1.3"));
27210
27229
  definitionMap.set("ngImport", importExpr(Identifiers.core));
27211
27230
  definitionMap.set("type", metadata.type);
27212
27231
  definitionMap.set("resolveDeferredDeps", compileComponentMetadataAsyncResolver(dependencies));
@@ -27274,7 +27293,7 @@ function createDirectiveDefinitionMap(meta) {
27274
27293
  const definitionMap = new DefinitionMap();
27275
27294
  const minVersion = getMinimumVersionForPartialOutput(meta);
27276
27295
  definitionMap.set("minVersion", literal(minVersion));
27277
- definitionMap.set("version", literal("18.1.2"));
27296
+ definitionMap.set("version", literal("18.1.3"));
27278
27297
  definitionMap.set("type", meta.type.value);
27279
27298
  if (meta.isStandalone) {
27280
27299
  definitionMap.set("isStandalone", literal(meta.isStandalone));
@@ -27592,7 +27611,7 @@ var MINIMUM_PARTIAL_LINKER_VERSION2 = "12.0.0";
27592
27611
  function compileDeclareFactoryFunction(meta) {
27593
27612
  const definitionMap = new DefinitionMap();
27594
27613
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION2));
27595
- definitionMap.set("version", literal("18.1.2"));
27614
+ definitionMap.set("version", literal("18.1.3"));
27596
27615
  definitionMap.set("ngImport", importExpr(Identifiers.core));
27597
27616
  definitionMap.set("type", meta.type.value);
27598
27617
  definitionMap.set("deps", compileDependencies(meta.deps));
@@ -27615,7 +27634,7 @@ function compileDeclareInjectableFromMetadata(meta) {
27615
27634
  function createInjectableDefinitionMap(meta) {
27616
27635
  const definitionMap = new DefinitionMap();
27617
27636
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION3));
27618
- definitionMap.set("version", literal("18.1.2"));
27637
+ definitionMap.set("version", literal("18.1.3"));
27619
27638
  definitionMap.set("ngImport", importExpr(Identifiers.core));
27620
27639
  definitionMap.set("type", meta.type.value);
27621
27640
  if (meta.providedIn !== void 0) {
@@ -27653,7 +27672,7 @@ function compileDeclareInjectorFromMetadata(meta) {
27653
27672
  function createInjectorDefinitionMap(meta) {
27654
27673
  const definitionMap = new DefinitionMap();
27655
27674
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION4));
27656
- definitionMap.set("version", literal("18.1.2"));
27675
+ definitionMap.set("version", literal("18.1.3"));
27657
27676
  definitionMap.set("ngImport", importExpr(Identifiers.core));
27658
27677
  definitionMap.set("type", meta.type.value);
27659
27678
  definitionMap.set("providers", meta.providers);
@@ -27677,7 +27696,7 @@ function createNgModuleDefinitionMap(meta) {
27677
27696
  throw new Error("Invalid path! Local compilation mode should not get into the partial compilation path");
27678
27697
  }
27679
27698
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION5));
27680
- definitionMap.set("version", literal("18.1.2"));
27699
+ definitionMap.set("version", literal("18.1.3"));
27681
27700
  definitionMap.set("ngImport", importExpr(Identifiers.core));
27682
27701
  definitionMap.set("type", meta.type.value);
27683
27702
  if (meta.bootstrap.length > 0) {
@@ -27712,7 +27731,7 @@ function compileDeclarePipeFromMetadata(meta) {
27712
27731
  function createPipeDefinitionMap(meta) {
27713
27732
  const definitionMap = new DefinitionMap();
27714
27733
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION6));
27715
- definitionMap.set("version", literal("18.1.2"));
27734
+ definitionMap.set("version", literal("18.1.3"));
27716
27735
  definitionMap.set("ngImport", importExpr(Identifiers.core));
27717
27736
  definitionMap.set("type", meta.type.value);
27718
27737
  if (meta.isStandalone) {
@@ -27729,7 +27748,7 @@ function createPipeDefinitionMap(meta) {
27729
27748
  publishFacade(_global);
27730
27749
 
27731
27750
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/version.mjs
27732
- var VERSION3 = new Version("18.1.2");
27751
+ var VERSION3 = new Version("18.1.3");
27733
27752
 
27734
27753
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/emitter.mjs
27735
27754
  var import_typescript5 = __toESM(require("typescript"), 1);
@@ -38536,6 +38555,19 @@ for (let i = 0; i < chars.length; i++) {
38536
38555
  intToChar[i] = c;
38537
38556
  charToInt[c] = i;
38538
38557
  }
38558
+ function encodeInteger(builder, num, relative8) {
38559
+ let delta = num - relative8;
38560
+ delta = delta < 0 ? -delta << 1 | 1 : delta << 1;
38561
+ do {
38562
+ let clamped = delta & 31;
38563
+ delta >>>= 5;
38564
+ if (delta > 0)
38565
+ clamped |= 32;
38566
+ builder.write(intToChar[clamped]);
38567
+ } while (delta > 0);
38568
+ return num;
38569
+ }
38570
+ var bufLength = 1024 * 16;
38539
38571
  var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? {
38540
38572
  decode(buf) {
38541
38573
  const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
@@ -38550,61 +38582,54 @@ var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder()
38550
38582
  return out;
38551
38583
  }
38552
38584
  };
38585
+ var StringWriter = class {
38586
+ constructor() {
38587
+ this.pos = 0;
38588
+ this.out = "";
38589
+ this.buffer = new Uint8Array(bufLength);
38590
+ }
38591
+ write(v) {
38592
+ const { buffer } = this;
38593
+ buffer[this.pos++] = v;
38594
+ if (this.pos === bufLength) {
38595
+ this.out += td.decode(buffer);
38596
+ this.pos = 0;
38597
+ }
38598
+ }
38599
+ flush() {
38600
+ const { buffer, out, pos } = this;
38601
+ return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
38602
+ }
38603
+ };
38553
38604
  function encode(decoded) {
38554
- const state = new Int32Array(5);
38555
- const bufLength = 1024 * 16;
38556
- const subLength = bufLength - 36;
38557
- const buf = new Uint8Array(bufLength);
38558
- const sub = buf.subarray(0, subLength);
38559
- let pos = 0;
38560
- let out = "";
38605
+ const writer = new StringWriter();
38606
+ let sourcesIndex = 0;
38607
+ let sourceLine = 0;
38608
+ let sourceColumn = 0;
38609
+ let namesIndex = 0;
38561
38610
  for (let i = 0; i < decoded.length; i++) {
38562
38611
  const line = decoded[i];
38563
- if (i > 0) {
38564
- if (pos === bufLength) {
38565
- out += td.decode(buf);
38566
- pos = 0;
38567
- }
38568
- buf[pos++] = semicolon;
38569
- }
38612
+ if (i > 0)
38613
+ writer.write(semicolon);
38570
38614
  if (line.length === 0)
38571
38615
  continue;
38572
- state[0] = 0;
38616
+ let genColumn = 0;
38573
38617
  for (let j = 0; j < line.length; j++) {
38574
38618
  const segment = line[j];
38575
- if (pos > subLength) {
38576
- out += td.decode(sub);
38577
- buf.copyWithin(0, subLength, pos);
38578
- pos -= subLength;
38579
- }
38580
38619
  if (j > 0)
38581
- buf[pos++] = comma;
38582
- pos = encodeInteger(buf, pos, state, segment, 0);
38620
+ writer.write(comma);
38621
+ genColumn = encodeInteger(writer, segment[0], genColumn);
38583
38622
  if (segment.length === 1)
38584
38623
  continue;
38585
- pos = encodeInteger(buf, pos, state, segment, 1);
38586
- pos = encodeInteger(buf, pos, state, segment, 2);
38587
- pos = encodeInteger(buf, pos, state, segment, 3);
38624
+ sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
38625
+ sourceLine = encodeInteger(writer, segment[2], sourceLine);
38626
+ sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
38588
38627
  if (segment.length === 4)
38589
38628
  continue;
38590
- pos = encodeInteger(buf, pos, state, segment, 4);
38629
+ namesIndex = encodeInteger(writer, segment[4], namesIndex);
38591
38630
  }
38592
38631
  }
38593
- return out + td.decode(buf.subarray(0, pos));
38594
- }
38595
- function encodeInteger(buf, pos, state, segment, j) {
38596
- const next = segment[j];
38597
- let num = next - state[j];
38598
- state[j] = next;
38599
- num = num < 0 ? -num << 1 | 1 : num << 1;
38600
- do {
38601
- let clamped = num & 31;
38602
- num >>>= 5;
38603
- if (num > 0)
38604
- clamped |= 32;
38605
- buf[pos++] = intToChar[clamped];
38606
- } while (num > 0);
38607
- return pos;
38632
+ return writer.flush();
38608
38633
  }
38609
38634
 
38610
38635
  // node_modules/magic-string/dist/magic-string.es.mjs
@@ -39210,10 +39235,12 @@ var MagicString = class {
39210
39235
  update(start, end, content, options) {
39211
39236
  if (typeof content !== "string")
39212
39237
  throw new TypeError("replacement content must be a string");
39213
- while (start < 0)
39214
- start += this.original.length;
39215
- while (end < 0)
39216
- end += this.original.length;
39238
+ if (this.original.length !== 0) {
39239
+ while (start < 0)
39240
+ start += this.original.length;
39241
+ while (end < 0)
39242
+ end += this.original.length;
39243
+ }
39217
39244
  if (end > this.original.length)
39218
39245
  throw new Error("end is out of bounds");
39219
39246
  if (start === end)
@@ -39291,10 +39318,12 @@ var MagicString = class {
39291
39318
  return this;
39292
39319
  }
39293
39320
  remove(start, end) {
39294
- while (start < 0)
39295
- start += this.original.length;
39296
- while (end < 0)
39297
- end += this.original.length;
39321
+ if (this.original.length !== 0) {
39322
+ while (start < 0)
39323
+ start += this.original.length;
39324
+ while (end < 0)
39325
+ end += this.original.length;
39326
+ }
39298
39327
  if (start === end)
39299
39328
  return this;
39300
39329
  if (start < 0 || end > this.original.length)
@@ -39313,10 +39342,12 @@ var MagicString = class {
39313
39342
  return this;
39314
39343
  }
39315
39344
  reset(start, end) {
39316
- while (start < 0)
39317
- start += this.original.length;
39318
- while (end < 0)
39319
- end += this.original.length;
39345
+ if (this.original.length !== 0) {
39346
+ while (start < 0)
39347
+ start += this.original.length;
39348
+ while (end < 0)
39349
+ end += this.original.length;
39350
+ }
39320
39351
  if (start === end)
39321
39352
  return this;
39322
39353
  if (start < 0 || end > this.original.length)
@@ -39380,10 +39411,12 @@ var MagicString = class {
39380
39411
  return this.intro + lineStr;
39381
39412
  }
39382
39413
  slice(start = 0, end = this.original.length) {
39383
- while (start < 0)
39384
- start += this.original.length;
39385
- while (end < 0)
39386
- end += this.original.length;
39414
+ if (this.original.length !== 0) {
39415
+ while (start < 0)
39416
+ start += this.original.length;
39417
+ while (end < 0)
39418
+ end += this.original.length;
39419
+ }
39387
39420
  let result = "";
39388
39421
  let chunk = this.firstChunk;
39389
39422
  while (chunk && (chunk.start > start || chunk.end <= start)) {
@@ -48795,6 +48828,7 @@ var NgCompiler = class {
48795
48828
  }
48796
48829
  prepareEmit() {
48797
48830
  const compilation = this.ensureAnalyzed();
48831
+ untagAllTsFiles(this.inputProgram);
48798
48832
  const coreImportsFrom = compilation.isCore ? getR3SymbolsFile(this.inputProgram) : null;
48799
48833
  let importRewriter;
48800
48834
  if (coreImportsFrom !== null) {
@@ -49605,7 +49639,6 @@ var NgtscProgram = class {
49605
49639
  };
49606
49640
  }
49607
49641
  }
49608
- untagAllTsFiles(this.tsProgram);
49609
49642
  const forceEmit = (_a2 = opts == null ? void 0 : opts.forceEmit) != null ? _a2 : false;
49610
49643
  this.compiler.perfRecorder.memory(PerfCheckpoint.PreEmit);
49611
49644
  const res = this.compiler.perfRecorder.inPhase(PerfPhase.TypeScriptEmit, () => {