@angular/compiler-cli 13.0.0-rc.1 → 13.0.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.
Files changed (32) hide show
  1. package/bundles/index.js +49 -49
  2. package/bundles/index.js.map +2 -2
  3. package/bundles/linker/babel/index.js +12 -12
  4. package/bundles/linker/babel/index.js.map +1 -1
  5. package/bundles/linker/index.js +12 -12
  6. package/bundles/linker/index.js.map +1 -1
  7. package/bundles/ngcc/index.js +124 -127
  8. package/bundles/ngcc/index.js.map +2 -2
  9. package/bundles/ngcc/main-ngcc.js +124 -127
  10. package/bundles/ngcc/main-ngcc.js.map +2 -2
  11. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +28 -44
  12. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js.map +2 -2
  13. package/bundles/private/migrations.js +8 -6
  14. package/bundles/private/migrations.js.map +2 -2
  15. package/bundles/src/bin/ng_xi18n.js +48 -48
  16. package/bundles/src/bin/ng_xi18n.js.map +2 -2
  17. package/bundles/src/bin/ngc.js +48 -48
  18. package/bundles/src/bin/ngc.js.map +2 -2
  19. package/bundles_metadata.json +1 -1
  20. package/linker/src/file_linker/partial_linkers/util.d.ts +2 -2
  21. package/linker/src/file_linker/translator.d.ts +1 -1
  22. package/ngcc/src/packages/build_marker.d.ts +1 -1
  23. package/ngcc/src/packages/entry_point.d.ts +5 -0
  24. package/ngcc/src/rendering/commonjs_rendering_formatter.d.ts +1 -1
  25. package/package.json +2 -2
  26. package/src/ngtsc/annotations/src/ng_module.d.ts +1 -2
  27. package/src/ngtsc/diagnostics/index.d.ts +4 -2
  28. package/src/ngtsc/diagnostics/src/docs.d.ts +14 -0
  29. package/src/ngtsc/diagnostics/src/error_details_base_url.d.ts +16 -0
  30. package/src/ngtsc/diagnostics/src/util.d.ts +2 -0
  31. package/src/ngtsc/typecheck/api/checker.d.ts +1 -1
  32. package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
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.1");
449
+ var VERSION = new Version("13.0.1");
450
450
 
451
451
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/metadata/collector.mjs
452
452
  import ts4 from "typescript";
@@ -3126,9 +3126,6 @@ import ts73 from "typescript";
3126
3126
  import { compileClassMetadata as compileClassMetadata3, compileComponentFromMetadata, compileDeclareClassMetadata as compileDeclareClassMetadata3, compileDeclareComponentFromMetadata, CssSelector, DEFAULT_INTERPOLATION_CONFIG, DomElementSchemaRegistry, ExternalExpr as ExternalExpr7, FactoryTarget as FactoryTarget3, InterpolationConfig, makeBindingParser as makeBindingParser2, ParseSourceFile as ParseSourceFile2, parseTemplate, R3TargetBinder, SelectorMatcher, ViewEncapsulation, WrappedNodeExpr as WrappedNodeExpr6 } from "@angular/compiler";
3127
3127
  import ts39 from "typescript";
3128
3128
 
3129
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error.mjs
3130
- import ts10 from "typescript";
3131
-
3132
3129
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.mjs
3133
3130
  var ErrorCode;
3134
3131
  (function(ErrorCode2) {
@@ -3179,7 +3176,8 @@ var ErrorCode;
3179
3176
  ErrorCode2[ErrorCode2["SUGGEST_STRICT_TEMPLATES"] = 10001] = "SUGGEST_STRICT_TEMPLATES";
3180
3177
  ErrorCode2[ErrorCode2["SUGGEST_SUBOPTIMAL_TYPE_INFERENCE"] = 10002] = "SUGGEST_SUBOPTIMAL_TYPE_INFERENCE";
3181
3178
  })(ErrorCode || (ErrorCode = {}));
3182
- var ERROR_DETAILS_PAGE_BASE_URL = "https://angular.io/errors";
3179
+
3180
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/docs.mjs
3183
3181
  var COMPILER_ERRORS_WITH_GUIDES = new Set([
3184
3182
  ErrorCode.DECORATOR_ARG_NOT_LITERAL,
3185
3183
  ErrorCode.IMPORT_CYCLE_DETECTED,
@@ -3189,6 +3187,15 @@ var COMPILER_ERRORS_WITH_GUIDES = new Set([
3189
3187
  ErrorCode.MISSING_REFERENCE_TARGET,
3190
3188
  ErrorCode.COMPONENT_INVALID_SHADOW_DOM_SELECTOR
3191
3189
  ]);
3190
+
3191
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error.mjs
3192
+ import ts10 from "typescript";
3193
+
3194
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/util.mjs
3195
+ var ERROR_CODE_MATCHER = /(\u001b\[\d+m ?)TS-99(\d+: ?\u001b\[\d+m)/g;
3196
+ function replaceTsWithNgInErrors(errors) {
3197
+ return errors.replace(ERROR_CODE_MATCHER, "$1NG$2");
3198
+ }
3192
3199
  function ngErrorCode(code) {
3193
3200
  return parseInt("-99" + code);
3194
3201
  }
@@ -3230,11 +3237,8 @@ function makeRelatedInformation(node, messageText) {
3230
3237
  };
3231
3238
  }
3232
3239
 
3233
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/util.mjs
3234
- var ERROR_CODE_MATCHER = /(\u001b\[\d+m ?)TS-99(\d+: ?\u001b\[\d+m)/g;
3235
- function replaceTsWithNgInErrors(errors) {
3236
- return errors.replace(ERROR_CODE_MATCHER, "$1NG$2");
3237
- }
3240
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error_details_base_url.mjs
3241
+ var ERROR_DETAILS_PAGE_BASE_URL = "https://angular.io/errors";
3238
3242
 
3239
3243
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/alias.mjs
3240
3244
  import { ExternalExpr as ExternalExpr2 } from "@angular/compiler";
@@ -8393,7 +8397,7 @@ function getInheritedUndecoratedCtorDiagnostic(node, baseClass, reader) {
8393
8397
  }
8394
8398
 
8395
8399
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/directive.mjs
8396
- 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";
8397
8401
  import ts37 from "typescript";
8398
8402
 
8399
8403
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/factory.mjs
@@ -8803,17 +8807,17 @@ function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, isCore
8803
8807
  };
8804
8808
  }
8805
8809
  function extractQueryMetadata(exprNode, name, args, propertyName, reflector, evaluator) {
8806
- var _a;
8807
8810
  if (args.length === 0) {
8808
8811
  throw new FatalDiagnosticError(ErrorCode.DECORATOR_ARITY_WRONG, exprNode, `@${name} must have arguments`);
8809
8812
  }
8810
8813
  const first = name === "ViewChild" || name === "ContentChild";
8811
- 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];
8812
8816
  const arg = evaluator.evaluate(node);
8813
8817
  let isStatic2 = false;
8814
8818
  let predicate = null;
8815
8819
  if (arg instanceof Reference || arg instanceof DynamicValue) {
8816
- predicate = new WrappedNodeExpr4(node);
8820
+ predicate = createMayBeForwardRefExpression(new WrappedNodeExpr4(node), forwardReferenceTarget !== null ? 2 : 0);
8817
8821
  } else if (typeof arg === "string") {
8818
8822
  predicate = [arg];
8819
8823
  } else if (isStringArrayOrDie(arg, `@${name} predicate`, node)) {
@@ -9058,7 +9062,7 @@ var QUERY_TYPES = new Set([
9058
9062
  ]);
9059
9063
 
9060
9064
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/ng_module.mjs
9061
- 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";
9062
9066
  import ts38 from "typescript";
9063
9067
  var NgModuleSymbol = class extends SemanticSymbol {
9064
9068
  constructor() {
@@ -9105,7 +9109,7 @@ var NgModuleSymbol = class extends SemanticSymbol {
9105
9109
  }
9106
9110
  };
9107
9111
  var NgModuleDecoratorHandler = class {
9108
- 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) {
9109
9113
  this.reflector = reflector;
9110
9114
  this.evaluator = evaluator;
9111
9115
  this.metaReader = metaReader;
@@ -9118,7 +9122,6 @@ var NgModuleDecoratorHandler = class {
9118
9122
  this.annotateForClosureCompiler = annotateForClosureCompiler;
9119
9123
  this.injectableRegistry = injectableRegistry;
9120
9124
  this.perf = perf;
9121
- this.localeId = localeId;
9122
9125
  this.precedence = HandlerPrecedence.PRIMARY;
9123
9126
  this.name = NgModuleDecoratorHandler.name;
9124
9127
  }
@@ -9404,14 +9407,6 @@ var NgModuleDecoratorHandler = class {
9404
9407
  type: injectorDef.type
9405
9408
  }
9406
9409
  ];
9407
- if (this.localeId) {
9408
- res.push({
9409
- name: "\u0275loc",
9410
- initializer: new LiteralExpr3(this.localeId),
9411
- statements: [],
9412
- type: STRING_TYPE
9413
- });
9414
- }
9415
9410
  return res;
9416
9411
  }
9417
9412
  _toR3Reference(valueRef, valueContext, typeContext) {
@@ -10385,7 +10380,7 @@ function checkCustomElementSelectorForErrors(selector) {
10385
10380
  }
10386
10381
 
10387
10382
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
10388
- 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";
10389
10384
  import ts40 from "typescript";
10390
10385
  var InjectableDecoratorHandler = class {
10391
10386
  constructor(reflector, isCore, strictCtorDeps, injectableRegistry, perf, errorOnDuplicateProv = true) {
@@ -10473,7 +10468,7 @@ function extractInjectableMetadata(clazz, decorator, reflector) {
10473
10468
  type,
10474
10469
  typeArgumentCount,
10475
10470
  internalType,
10476
- providedIn: createR3ProviderExpression(new LiteralExpr4(null), false)
10471
+ providedIn: createMayBeForwardRefExpression2(new LiteralExpr3(null), 0)
10477
10472
  };
10478
10473
  } else if (decorator.args.length === 1) {
10479
10474
  const metaNode = decorator.args[0];
@@ -10481,7 +10476,7 @@ function extractInjectableMetadata(clazz, decorator, reflector) {
10481
10476
  throw new FatalDiagnosticError(ErrorCode.DECORATOR_ARG_NOT_LITERAL, metaNode, `@Injectable argument must be an object literal`);
10482
10477
  }
10483
10478
  const meta = reflectObjectLiteral(metaNode);
10484
- 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);
10485
10480
  let deps = void 0;
10486
10481
  if ((meta.has("useClass") || meta.has("useFactory")) && meta.has("deps")) {
10487
10482
  const depsExpr = meta.get("deps");
@@ -10509,7 +10504,7 @@ function extractInjectableMetadata(clazz, decorator, reflector) {
10509
10504
  }
10510
10505
  function getProviderExpression(expression, reflector) {
10511
10506
  const forwardRefValue = tryUnwrapForwardRef(expression, reflector);
10512
- return createR3ProviderExpression(new WrappedNodeExpr7(forwardRefValue != null ? forwardRefValue : expression), forwardRefValue !== null);
10507
+ return createMayBeForwardRefExpression2(new WrappedNodeExpr7(forwardRefValue != null ? forwardRefValue : expression), forwardRefValue !== null ? 2 : 0);
10513
10508
  }
10514
10509
  function extractInjectableCtorDeps(clazz, meta, decorator, reflector, isCore, strictCtorDeps) {
10515
10510
  if (decorator.args === null) {
@@ -14585,12 +14580,7 @@ var TcbDirectiveInputsOp = class extends TcbOp {
14585
14580
  let dirId = null;
14586
14581
  const inputs = getBoundInputs(this.dir, this.node, this.tcb);
14587
14582
  for (const input of inputs) {
14588
- let expr = translateInput(input.attribute, this.tcb, this.scope);
14589
- if (!this.tcb.env.config.checkTypeOfInputBindings) {
14590
- expr = tsCastToAny(expr);
14591
- } else if (!this.tcb.env.config.strictNullInputBindings) {
14592
- expr = ts67.createNonNullExpression(expr);
14593
- }
14583
+ const expr = widenBinding(translateInput(input.attribute, this.tcb, this.scope), this.tcb);
14594
14584
  let assignment = wrapForDiagnostics(expr);
14595
14585
  for (const fieldName of input.fieldNames) {
14596
14586
  let target;
@@ -14711,12 +14701,7 @@ var TcbUnclaimedInputsOp = class extends TcbOp {
14711
14701
  if (binding.type === 0 && this.claimedInputs.has(binding.name)) {
14712
14702
  continue;
14713
14703
  }
14714
- let expr = tcbExpression(binding.value, this.tcb, this.scope);
14715
- if (!this.tcb.env.config.checkTypeOfInputBindings) {
14716
- expr = tsCastToAny(expr);
14717
- } else if (!this.tcb.env.config.strictNullInputBindings) {
14718
- expr = ts67.createNonNullExpression(expr);
14719
- }
14704
+ const expr = widenBinding(tcbExpression(binding.value, this.tcb, this.scope), this.tcb);
14720
14705
  if (this.tcb.env.config.checkTypeOfDomBindings && binding.type === 0) {
14721
14706
  if (binding.name !== "style" && binding.name !== "class") {
14722
14707
  if (elId === null) {
@@ -15201,12 +15186,7 @@ function tcbCallTypeCtor(dir, tcb, inputs) {
15201
15186
  const members = inputs.map((input) => {
15202
15187
  const propertyName = ts67.createStringLiteral(input.field);
15203
15188
  if (input.type === "binding") {
15204
- let expr = input.expression;
15205
- if (!tcb.env.config.checkTypeOfInputBindings) {
15206
- expr = tsCastToAny(expr);
15207
- } else if (!tcb.env.config.strictNullInputBindings) {
15208
- expr = ts67.createNonNullExpression(expr);
15209
- }
15189
+ const expr = widenBinding(input.expression, tcb);
15210
15190
  const assignment = ts67.createPropertyAssignment(propertyName, wrapForDiagnostics(expr));
15211
15191
  addParseSpanInfo(assignment, input.sourceSpan);
15212
15192
  return assignment;
@@ -15243,6 +15223,19 @@ function translateInput(attr, tcb, scope) {
15243
15223
  return ts67.createStringLiteral(attr.value);
15244
15224
  }
15245
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
+ }
15246
15239
  var EVENT_PARAMETER = "$event";
15247
15240
  function tcbCreateEventHandler(event, tcb, scope, eventType) {
15248
15241
  const handler = tcbEventHandlerExpression(event.handler, tcb, scope);
@@ -17261,7 +17254,7 @@ var NgCompiler = class {
17261
17254
  new DirectiveDecoratorHandler(reflector, evaluator, metaRegistry, scopeRegistry, metaReader, injectableRegistry, isCore, semanticDepGraphUpdater, this.closureCompilerEnabled, false, this.delegatingPerfRecorder),
17262
17255
  new PipeDecoratorHandler(reflector, evaluator, metaRegistry, scopeRegistry, injectableRegistry, isCore, this.delegatingPerfRecorder),
17263
17256
  new InjectableDecoratorHandler(reflector, isCore, this.options.strictInjectionParameters || false, injectableRegistry, this.delegatingPerfRecorder),
17264
- 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)
17265
17258
  ];
17266
17259
  const traitCompiler = new TraitCompiler(handlers, reflector, this.delegatingPerfRecorder, this.incrementalCompilation, this.options.compileNonExportedClasses !== false, compilationMode, dtsTransforms, semanticDepGraphUpdater);
17267
17260
  const notifyingDriver = new NotifyingProgramDriverWrapper(this.programDriver, (program) => {
@@ -17450,7 +17443,14 @@ import ts74 from "typescript";
17450
17443
 
17451
17444
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/diagnostics/typescript_version.mjs
17452
17445
  function toNumbers(value) {
17453
- 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
+ });
17454
17454
  }
17455
17455
  function compareNumbers(a, b) {
17456
17456
  const max = Math.max(a.length, b.length);