@angular/compiler-cli 13.0.0-rc.2 → 13.0.2

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.
package/bundles/index.js CHANGED
@@ -446,7 +446,7 @@ import { StaticReflector, StaticSymbol } from "@angular/compiler";
446
446
 
447
447
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/version.mjs
448
448
  import { Version } from "@angular/compiler";
449
- var VERSION = new Version("13.0.0-rc.2");
449
+ var VERSION = new Version("13.0.2");
450
450
 
451
451
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/metadata/collector.mjs
452
452
  import ts4 from "typescript";
@@ -8397,7 +8397,7 @@ function getInheritedUndecoratedCtorDiagnostic(node, baseClass, reader) {
8397
8397
  }
8398
8398
 
8399
8399
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/directive.mjs
8400
- import { compileClassMetadata, compileDeclareClassMetadata, compileDeclareDirectiveFromMetadata, compileDirectiveFromMetadata, emitDistinctChangesOnlyDefaultValue, ExternalExpr as ExternalExpr5, FactoryTarget, getSafePropertyAccessString, makeBindingParser, parseHostBindings, verifyHostBindings, WrappedNodeExpr as WrappedNodeExpr4 } from "@angular/compiler";
8400
+ import { compileClassMetadata, compileDeclareClassMetadata, compileDeclareDirectiveFromMetadata, compileDirectiveFromMetadata, createMayBeForwardRefExpression, emitDistinctChangesOnlyDefaultValue, ExternalExpr as ExternalExpr5, FactoryTarget, getSafePropertyAccessString, makeBindingParser, parseHostBindings, verifyHostBindings, WrappedNodeExpr as WrappedNodeExpr4 } from "@angular/compiler";
8401
8401
  import ts37 from "typescript";
8402
8402
 
8403
8403
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/factory.mjs
@@ -8807,17 +8807,17 @@ function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, isCore
8807
8807
  };
8808
8808
  }
8809
8809
  function extractQueryMetadata(exprNode, name, args, propertyName, reflector, evaluator) {
8810
- var _a;
8811
8810
  if (args.length === 0) {
8812
8811
  throw new FatalDiagnosticError(ErrorCode.DECORATOR_ARITY_WRONG, exprNode, `@${name} must have arguments`);
8813
8812
  }
8814
8813
  const first = name === "ViewChild" || name === "ContentChild";
8815
- const node = (_a = tryUnwrapForwardRef(args[0], reflector)) != null ? _a : args[0];
8814
+ const forwardReferenceTarget = tryUnwrapForwardRef(args[0], reflector);
8815
+ const node = forwardReferenceTarget != null ? forwardReferenceTarget : args[0];
8816
8816
  const arg = evaluator.evaluate(node);
8817
8817
  let isStatic2 = false;
8818
8818
  let predicate = null;
8819
8819
  if (arg instanceof Reference || arg instanceof DynamicValue) {
8820
- predicate = new WrappedNodeExpr4(node);
8820
+ predicate = createMayBeForwardRefExpression(new WrappedNodeExpr4(node), forwardReferenceTarget !== null ? 2 : 0);
8821
8821
  } else if (typeof arg === "string") {
8822
8822
  predicate = [arg];
8823
8823
  } else if (isStringArrayOrDie(arg, `@${name} predicate`, node)) {
@@ -9062,7 +9062,7 @@ var QUERY_TYPES = new Set([
9062
9062
  ]);
9063
9063
 
9064
9064
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/ng_module.mjs
9065
- import { compileClassMetadata as compileClassMetadata2, compileDeclareClassMetadata as compileDeclareClassMetadata2, compileDeclareInjectorFromMetadata, compileDeclareNgModuleFromMetadata, compileInjector, compileNgModule, CUSTOM_ELEMENTS_SCHEMA, ExternalExpr as ExternalExpr6, FactoryTarget as FactoryTarget2, InvokeFunctionExpr, LiteralArrayExpr as LiteralArrayExpr2, LiteralExpr as LiteralExpr3, NO_ERRORS_SCHEMA, R3Identifiers, STRING_TYPE, WrappedNodeExpr as WrappedNodeExpr5 } from "@angular/compiler";
9065
+ import { compileClassMetadata as compileClassMetadata2, compileDeclareClassMetadata as compileDeclareClassMetadata2, compileDeclareInjectorFromMetadata, compileDeclareNgModuleFromMetadata, compileInjector, compileNgModule, CUSTOM_ELEMENTS_SCHEMA, ExternalExpr as ExternalExpr6, FactoryTarget as FactoryTarget2, InvokeFunctionExpr, LiteralArrayExpr as LiteralArrayExpr2, NO_ERRORS_SCHEMA, R3Identifiers, WrappedNodeExpr as WrappedNodeExpr5 } from "@angular/compiler";
9066
9066
  import ts38 from "typescript";
9067
9067
  var NgModuleSymbol = class extends SemanticSymbol {
9068
9068
  constructor() {
@@ -9109,7 +9109,7 @@ var NgModuleSymbol = class extends SemanticSymbol {
9109
9109
  }
9110
9110
  };
9111
9111
  var NgModuleDecoratorHandler = class {
9112
- constructor(reflector, evaluator, metaReader, metaRegistry, scopeRegistry, referencesRegistry, isCore, refEmitter, factoryTracker, annotateForClosureCompiler, injectableRegistry, perf, localeId) {
9112
+ constructor(reflector, evaluator, metaReader, metaRegistry, scopeRegistry, referencesRegistry, isCore, refEmitter, factoryTracker, annotateForClosureCompiler, injectableRegistry, perf) {
9113
9113
  this.reflector = reflector;
9114
9114
  this.evaluator = evaluator;
9115
9115
  this.metaReader = metaReader;
@@ -9122,7 +9122,6 @@ var NgModuleDecoratorHandler = class {
9122
9122
  this.annotateForClosureCompiler = annotateForClosureCompiler;
9123
9123
  this.injectableRegistry = injectableRegistry;
9124
9124
  this.perf = perf;
9125
- this.localeId = localeId;
9126
9125
  this.precedence = HandlerPrecedence.PRIMARY;
9127
9126
  this.name = NgModuleDecoratorHandler.name;
9128
9127
  }
@@ -9408,14 +9407,6 @@ var NgModuleDecoratorHandler = class {
9408
9407
  type: injectorDef.type
9409
9408
  }
9410
9409
  ];
9411
- if (this.localeId) {
9412
- res.push({
9413
- name: "\u0275loc",
9414
- initializer: new LiteralExpr3(this.localeId),
9415
- statements: [],
9416
- type: STRING_TYPE
9417
- });
9418
- }
9419
9410
  return res;
9420
9411
  }
9421
9412
  _toR3Reference(valueRef, valueContext, typeContext) {
@@ -10389,7 +10380,7 @@ function checkCustomElementSelectorForErrors(selector) {
10389
10380
  }
10390
10381
 
10391
10382
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
10392
- import { compileClassMetadata as compileClassMetadata4, compileDeclareClassMetadata as compileDeclareClassMetadata4, compileDeclareInjectableFromMetadata, compileInjectable, createR3ProviderExpression, FactoryTarget as FactoryTarget4, LiteralExpr as LiteralExpr4, WrappedNodeExpr as WrappedNodeExpr7 } from "@angular/compiler";
10383
+ import { compileClassMetadata as compileClassMetadata4, compileDeclareClassMetadata as compileDeclareClassMetadata4, compileDeclareInjectableFromMetadata, compileInjectable, createMayBeForwardRefExpression as createMayBeForwardRefExpression2, FactoryTarget as FactoryTarget4, LiteralExpr as LiteralExpr3, WrappedNodeExpr as WrappedNodeExpr7 } from "@angular/compiler";
10393
10384
  import ts40 from "typescript";
10394
10385
  var InjectableDecoratorHandler = class {
10395
10386
  constructor(reflector, isCore, strictCtorDeps, injectableRegistry, perf, errorOnDuplicateProv = true) {
@@ -10477,7 +10468,7 @@ function extractInjectableMetadata(clazz, decorator, reflector) {
10477
10468
  type,
10478
10469
  typeArgumentCount,
10479
10470
  internalType,
10480
- providedIn: createR3ProviderExpression(new LiteralExpr4(null), false)
10471
+ providedIn: createMayBeForwardRefExpression2(new LiteralExpr3(null), 0)
10481
10472
  };
10482
10473
  } else if (decorator.args.length === 1) {
10483
10474
  const metaNode = decorator.args[0];
@@ -10485,7 +10476,7 @@ function extractInjectableMetadata(clazz, decorator, reflector) {
10485
10476
  throw new FatalDiagnosticError(ErrorCode.DECORATOR_ARG_NOT_LITERAL, metaNode, `@Injectable argument must be an object literal`);
10486
10477
  }
10487
10478
  const meta = reflectObjectLiteral(metaNode);
10488
- const providedIn = meta.has("providedIn") ? getProviderExpression(meta.get("providedIn"), reflector) : createR3ProviderExpression(new LiteralExpr4(null), false);
10479
+ const providedIn = meta.has("providedIn") ? getProviderExpression(meta.get("providedIn"), reflector) : createMayBeForwardRefExpression2(new LiteralExpr3(null), 0);
10489
10480
  let deps = void 0;
10490
10481
  if ((meta.has("useClass") || meta.has("useFactory")) && meta.has("deps")) {
10491
10482
  const depsExpr = meta.get("deps");
@@ -10513,7 +10504,7 @@ function extractInjectableMetadata(clazz, decorator, reflector) {
10513
10504
  }
10514
10505
  function getProviderExpression(expression, reflector) {
10515
10506
  const forwardRefValue = tryUnwrapForwardRef(expression, reflector);
10516
- return createR3ProviderExpression(new WrappedNodeExpr7(forwardRefValue != null ? forwardRefValue : expression), forwardRefValue !== null);
10507
+ return createMayBeForwardRefExpression2(new WrappedNodeExpr7(forwardRefValue != null ? forwardRefValue : expression), forwardRefValue !== null ? 2 : 0);
10517
10508
  }
10518
10509
  function extractInjectableCtorDeps(clazz, meta, decorator, reflector, isCore, strictCtorDeps) {
10519
10510
  if (decorator.args === null) {
@@ -14589,12 +14580,7 @@ var TcbDirectiveInputsOp = class extends TcbOp {
14589
14580
  let dirId = null;
14590
14581
  const inputs = getBoundInputs(this.dir, this.node, this.tcb);
14591
14582
  for (const input of inputs) {
14592
- let expr = translateInput(input.attribute, this.tcb, this.scope);
14593
- if (!this.tcb.env.config.checkTypeOfInputBindings) {
14594
- expr = tsCastToAny(expr);
14595
- } else if (!this.tcb.env.config.strictNullInputBindings) {
14596
- expr = ts67.createNonNullExpression(expr);
14597
- }
14583
+ const expr = widenBinding(translateInput(input.attribute, this.tcb, this.scope), this.tcb);
14598
14584
  let assignment = wrapForDiagnostics(expr);
14599
14585
  for (const fieldName of input.fieldNames) {
14600
14586
  let target;
@@ -14715,12 +14701,7 @@ var TcbUnclaimedInputsOp = class extends TcbOp {
14715
14701
  if (binding.type === 0 && this.claimedInputs.has(binding.name)) {
14716
14702
  continue;
14717
14703
  }
14718
- let expr = tcbExpression(binding.value, this.tcb, this.scope);
14719
- if (!this.tcb.env.config.checkTypeOfInputBindings) {
14720
- expr = tsCastToAny(expr);
14721
- } else if (!this.tcb.env.config.strictNullInputBindings) {
14722
- expr = ts67.createNonNullExpression(expr);
14723
- }
14704
+ const expr = widenBinding(tcbExpression(binding.value, this.tcb, this.scope), this.tcb);
14724
14705
  if (this.tcb.env.config.checkTypeOfDomBindings && binding.type === 0) {
14725
14706
  if (binding.name !== "style" && binding.name !== "class") {
14726
14707
  if (elId === null) {
@@ -15205,12 +15186,7 @@ function tcbCallTypeCtor(dir, tcb, inputs) {
15205
15186
  const members = inputs.map((input) => {
15206
15187
  const propertyName = ts67.createStringLiteral(input.field);
15207
15188
  if (input.type === "binding") {
15208
- let expr = input.expression;
15209
- if (!tcb.env.config.checkTypeOfInputBindings) {
15210
- expr = tsCastToAny(expr);
15211
- } else if (!tcb.env.config.strictNullInputBindings) {
15212
- expr = ts67.createNonNullExpression(expr);
15213
- }
15189
+ const expr = widenBinding(input.expression, tcb);
15214
15190
  const assignment = ts67.createPropertyAssignment(propertyName, wrapForDiagnostics(expr));
15215
15191
  addParseSpanInfo(assignment, input.sourceSpan);
15216
15192
  return assignment;
@@ -15247,6 +15223,19 @@ function translateInput(attr, tcb, scope) {
15247
15223
  return ts67.createStringLiteral(attr.value);
15248
15224
  }
15249
15225
  }
15226
+ function widenBinding(expr, tcb) {
15227
+ if (!tcb.env.config.checkTypeOfInputBindings) {
15228
+ return tsCastToAny(expr);
15229
+ } else if (!tcb.env.config.strictNullInputBindings) {
15230
+ if (ts67.isObjectLiteralExpression(expr) || ts67.isArrayLiteralExpression(expr)) {
15231
+ return expr;
15232
+ } else {
15233
+ return ts67.createNonNullExpression(expr);
15234
+ }
15235
+ } else {
15236
+ return expr;
15237
+ }
15238
+ }
15250
15239
  var EVENT_PARAMETER = "$event";
15251
15240
  function tcbCreateEventHandler(event, tcb, scope, eventType) {
15252
15241
  const handler = tcbEventHandlerExpression(event.handler, tcb, scope);
@@ -17265,7 +17254,7 @@ var NgCompiler = class {
17265
17254
  new DirectiveDecoratorHandler(reflector, evaluator, metaRegistry, scopeRegistry, metaReader, injectableRegistry, isCore, semanticDepGraphUpdater, this.closureCompilerEnabled, false, this.delegatingPerfRecorder),
17266
17255
  new PipeDecoratorHandler(reflector, evaluator, metaRegistry, scopeRegistry, injectableRegistry, isCore, this.delegatingPerfRecorder),
17267
17256
  new InjectableDecoratorHandler(reflector, isCore, this.options.strictInjectionParameters || false, injectableRegistry, this.delegatingPerfRecorder),
17268
- new NgModuleDecoratorHandler(reflector, evaluator, metaReader, metaRegistry, scopeRegistry, referencesRegistry, isCore, refEmitter, this.adapter.factoryTracker, this.closureCompilerEnabled, injectableRegistry, this.delegatingPerfRecorder, this.options.i18nInLocale)
17257
+ new NgModuleDecoratorHandler(reflector, evaluator, metaReader, metaRegistry, scopeRegistry, referencesRegistry, isCore, refEmitter, this.adapter.factoryTracker, this.closureCompilerEnabled, injectableRegistry, this.delegatingPerfRecorder)
17269
17258
  ];
17270
17259
  const traitCompiler = new TraitCompiler(handlers, reflector, this.delegatingPerfRecorder, this.incrementalCompilation, this.options.compileNonExportedClasses !== false, compilationMode, dtsTransforms, semanticDepGraphUpdater);
17271
17260
  const notifyingDriver = new NotifyingProgramDriverWrapper(this.programDriver, (program) => {
@@ -17454,7 +17443,14 @@ import ts74 from "typescript";
17454
17443
 
17455
17444
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/diagnostics/typescript_version.mjs
17456
17445
  function toNumbers(value) {
17457
- return value.split(".").map(Number);
17446
+ const suffixIndex = value.lastIndexOf("-");
17447
+ return value.slice(0, suffixIndex === -1 ? value.length : suffixIndex).split(".").map((segment) => {
17448
+ const parsed = parseInt(segment, 10);
17449
+ if (isNaN(parsed)) {
17450
+ throw Error(`Unable to parse version string ${value}.`);
17451
+ }
17452
+ return parsed;
17453
+ });
17458
17454
  }
17459
17455
  function compareNumbers(a, b) {
17460
17456
  const max = Math.max(a.length, b.length);