@angular/core 17.3.0 → 17.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23607,6 +23607,12 @@ function ingestControlFlowInsertionPoint(unit, xref, node) {
23607
23607
  const securityContext = domSchema.securityContext(NG_TEMPLATE_TAG_NAME, attr.name, true);
23608
23608
  unit.update.push(createBindingOp(xref, BindingKind.Attribute, attr.name, literal(attr.value), null, securityContext, true, false, null, asMessage(attr.i18n), attr.sourceSpan));
23609
23609
  }
23610
+ for (const attr of root.inputs) {
23611
+ if (attr.type !== 4 && attr.type !== 1) {
23612
+ const securityContext = domSchema.securityContext(NG_TEMPLATE_TAG_NAME, attr.name, true);
23613
+ unit.create.push(createExtractedAttributeOp(xref, BindingKind.Property, null, attr.name, null, null, null, securityContext));
23614
+ }
23615
+ }
23610
23616
  const tagName = root instanceof Element ? root.name : root.tagName;
23611
23617
  return tagName === NG_TEMPLATE_TAG_NAME ? null : tagName;
23612
23618
  }
@@ -29335,7 +29341,7 @@ function publishFacade(global) {
29335
29341
  }
29336
29342
 
29337
29343
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/version.mjs
29338
- var VERSION2 = new Version("17.3.0");
29344
+ var VERSION2 = new Version("17.3.1");
29339
29345
 
29340
29346
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
29341
29347
  var _I18N_ATTR = "i18n";
@@ -30401,7 +30407,7 @@ var MINIMUM_PARTIAL_LINKER_VERSION = "12.0.0";
30401
30407
  function compileDeclareClassMetadata(metadata) {
30402
30408
  const definitionMap = new DefinitionMap();
30403
30409
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION));
30404
- definitionMap.set("version", literal("17.3.0"));
30410
+ definitionMap.set("version", literal("17.3.1"));
30405
30411
  definitionMap.set("ngImport", importExpr(Identifiers.core));
30406
30412
  definitionMap.set("type", metadata.type);
30407
30413
  definitionMap.set("decorators", metadata.decorators);
@@ -30470,7 +30476,7 @@ function createDirectiveDefinitionMap(meta) {
30470
30476
  const definitionMap = new DefinitionMap();
30471
30477
  const minVersion = getMinimumVersionForPartialOutput(meta);
30472
30478
  definitionMap.set("minVersion", literal(minVersion));
30473
- definitionMap.set("version", literal("17.3.0"));
30479
+ definitionMap.set("version", literal("17.3.1"));
30474
30480
  definitionMap.set("type", meta.type.value);
30475
30481
  if (meta.isStandalone) {
30476
30482
  definitionMap.set("isStandalone", literal(meta.isStandalone));
@@ -30769,7 +30775,7 @@ var MINIMUM_PARTIAL_LINKER_VERSION2 = "12.0.0";
30769
30775
  function compileDeclareFactoryFunction(meta) {
30770
30776
  const definitionMap = new DefinitionMap();
30771
30777
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION2));
30772
- definitionMap.set("version", literal("17.3.0"));
30778
+ definitionMap.set("version", literal("17.3.1"));
30773
30779
  definitionMap.set("ngImport", importExpr(Identifiers.core));
30774
30780
  definitionMap.set("type", meta.type.value);
30775
30781
  definitionMap.set("deps", compileDependencies(meta.deps));
@@ -30792,7 +30798,7 @@ function compileDeclareInjectableFromMetadata(meta) {
30792
30798
  function createInjectableDefinitionMap(meta) {
30793
30799
  const definitionMap = new DefinitionMap();
30794
30800
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION3));
30795
- definitionMap.set("version", literal("17.3.0"));
30801
+ definitionMap.set("version", literal("17.3.1"));
30796
30802
  definitionMap.set("ngImport", importExpr(Identifiers.core));
30797
30803
  definitionMap.set("type", meta.type.value);
30798
30804
  if (meta.providedIn !== void 0) {
@@ -30830,7 +30836,7 @@ function compileDeclareInjectorFromMetadata(meta) {
30830
30836
  function createInjectorDefinitionMap(meta) {
30831
30837
  const definitionMap = new DefinitionMap();
30832
30838
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION4));
30833
- definitionMap.set("version", literal("17.3.0"));
30839
+ definitionMap.set("version", literal("17.3.1"));
30834
30840
  definitionMap.set("ngImport", importExpr(Identifiers.core));
30835
30841
  definitionMap.set("type", meta.type.value);
30836
30842
  definitionMap.set("providers", meta.providers);
@@ -30854,7 +30860,7 @@ function createNgModuleDefinitionMap(meta) {
30854
30860
  throw new Error("Invalid path! Local compilation mode should not get into the partial compilation path");
30855
30861
  }
30856
30862
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION5));
30857
- definitionMap.set("version", literal("17.3.0"));
30863
+ definitionMap.set("version", literal("17.3.1"));
30858
30864
  definitionMap.set("ngImport", importExpr(Identifiers.core));
30859
30865
  definitionMap.set("type", meta.type.value);
30860
30866
  if (meta.bootstrap.length > 0) {
@@ -30889,7 +30895,7 @@ function compileDeclarePipeFromMetadata(meta) {
30889
30895
  function createPipeDefinitionMap(meta) {
30890
30896
  const definitionMap = new DefinitionMap();
30891
30897
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION6));
30892
- definitionMap.set("version", literal("17.3.0"));
30898
+ definitionMap.set("version", literal("17.3.1"));
30893
30899
  definitionMap.set("ngImport", importExpr(Identifiers.core));
30894
30900
  definitionMap.set("type", meta.type.value);
30895
30901
  if (meta.isStandalone) {
@@ -30906,7 +30912,7 @@ function createPipeDefinitionMap(meta) {
30906
30912
  publishFacade(_global);
30907
30913
 
30908
30914
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/version.mjs
30909
- var VERSION3 = new Version("17.3.0");
30915
+ var VERSION3 = new Version("17.3.1");
30910
30916
 
30911
30917
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/emitter.mjs
30912
30918
  var import_typescript5 = __toESM(require("typescript"), 1);
@@ -49549,6 +49555,25 @@ function unwrapAstWithSource(ast) {
49549
49555
  return ast instanceof ASTWithSource ? ast.ast : ast;
49550
49556
  }
49551
49557
 
49558
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/core_version.mjs
49559
+ function coreHasSymbol(program, symbol) {
49560
+ const checker = program.getTypeChecker();
49561
+ for (const sf of program.getSourceFiles().filter(isMaybeCore)) {
49562
+ const sym = checker.getSymbolAtLocation(sf);
49563
+ if (sym === void 0 || sym.exports === void 0) {
49564
+ continue;
49565
+ }
49566
+ if (!sym.exports.has("\u0275\u0275template")) {
49567
+ continue;
49568
+ }
49569
+ return sym.exports.has(symbol.name);
49570
+ }
49571
+ return null;
49572
+ }
49573
+ function isMaybeCore(sf) {
49574
+ return sf.isDeclarationFile && sf.fileName.includes("@angular/core") && sf.fileName.endsWith("index.d.ts");
49575
+ }
49576
+
49552
49577
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/feature_detection.mjs
49553
49578
  var import_semver = __toESM(require_semver2(), 1);
49554
49579
  function coreVersionSupportsFeature(coreVersion, minVersion) {
@@ -49891,10 +49916,10 @@ var NgCompiler = class {
49891
49916
  return strictTemplates || !!this.options.fullTemplateTypeCheck;
49892
49917
  }
49893
49918
  getTypeCheckingConfig() {
49894
- var _a2, _b2, _c2, _d2;
49919
+ var _a2, _b2, _c2, _d2, _e2;
49895
49920
  const strictTemplates = !!this.options.strictTemplates;
49896
49921
  const useInlineTypeConstructors = this.programDriver.supportsInlineOperations;
49897
- const allowSignalsInTwoWayBindings = this.angularCoreVersion === null || coreVersionSupportsFeature(this.angularCoreVersion, ">= 17.2.0-0");
49922
+ let allowSignalsInTwoWayBindings = (_a2 = coreHasSymbol(this.inputProgram, Identifiers.unwrapWritableSignal)) != null ? _a2 : this.angularCoreVersion === null || coreVersionSupportsFeature(this.angularCoreVersion, ">= 17.2.0-0");
49898
49923
  let typeCheckingConfig;
49899
49924
  if (this.fullTemplateTypeCheck) {
49900
49925
  typeCheckingConfig = {
@@ -49919,7 +49944,7 @@ var NgCompiler = class {
49919
49944
  enableTemplateTypeChecker: this.enableTemplateTypeChecker,
49920
49945
  useInlineTypeConstructors,
49921
49946
  suggestionsForSuboptimalTypeInference: this.enableTemplateTypeChecker && !strictTemplates,
49922
- controlFlowPreventingContentProjection: ((_a2 = this.options.extendedDiagnostics) == null ? void 0 : _a2.defaultCategory) || DiagnosticCategoryLabel.Warning,
49947
+ controlFlowPreventingContentProjection: ((_b2 = this.options.extendedDiagnostics) == null ? void 0 : _b2.defaultCategory) || DiagnosticCategoryLabel.Warning,
49923
49948
  allowSignalsInTwoWayBindings
49924
49949
  };
49925
49950
  } else {
@@ -49945,7 +49970,7 @@ var NgCompiler = class {
49945
49970
  enableTemplateTypeChecker: this.enableTemplateTypeChecker,
49946
49971
  useInlineTypeConstructors,
49947
49972
  suggestionsForSuboptimalTypeInference: false,
49948
- controlFlowPreventingContentProjection: ((_b2 = this.options.extendedDiagnostics) == null ? void 0 : _b2.defaultCategory) || DiagnosticCategoryLabel.Warning,
49973
+ controlFlowPreventingContentProjection: ((_c2 = this.options.extendedDiagnostics) == null ? void 0 : _c2.defaultCategory) || DiagnosticCategoryLabel.Warning,
49949
49974
  allowSignalsInTwoWayBindings
49950
49975
  };
49951
49976
  }
@@ -49981,7 +50006,7 @@ var NgCompiler = class {
49981
50006
  if (this.options.strictLiteralTypes !== void 0) {
49982
50007
  typeCheckingConfig.strictLiteralTypes = this.options.strictLiteralTypes;
49983
50008
  }
49984
- if (((_d2 = (_c2 = this.options.extendedDiagnostics) == null ? void 0 : _c2.checks) == null ? void 0 : _d2.controlFlowPreventingContentProjection) !== void 0) {
50009
+ if (((_e2 = (_d2 = this.options.extendedDiagnostics) == null ? void 0 : _d2.checks) == null ? void 0 : _e2.controlFlowPreventingContentProjection) !== void 0) {
49985
50010
  typeCheckingConfig.controlFlowPreventingContentProjection = this.options.extendedDiagnostics.checks.controlFlowPreventingContentProjection;
49986
50011
  }
49987
50012
  return typeCheckingConfig;