@angular/compiler-cli 16.2.0-rc.0 → 16.2.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.
@@ -36,7 +36,7 @@ import {
36
36
  aliasTransformFactory,
37
37
  declarationTransformFactory,
38
38
  ivyTransformFactory
39
- } from "./chunk-NYVNWJZI.js";
39
+ } from "./chunk-WJOCH3Z7.js";
40
40
  import {
41
41
  ImportManager,
42
42
  translateExpression,
@@ -7846,4 +7846,4 @@ export {
7846
7846
  * Use of this source code is governed by an MIT-style license that can be
7847
7847
  * found in the LICENSE file at https://angular.io/license
7848
7848
  */
7849
- //# sourceMappingURL=chunk-NFCNUCPF.js.map
7849
+ //# sourceMappingURL=chunk-CWD5WGIF.js.map
@@ -12,7 +12,7 @@ import {
12
12
  formatDiagnostics,
13
13
  performCompilation,
14
14
  readConfiguration
15
- } from "./chunk-NFCNUCPF.js";
15
+ } from "./chunk-CWD5WGIF.js";
16
16
 
17
17
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/main.mjs
18
18
  import ts2 from "typescript";
@@ -374,4 +374,4 @@ export {
374
374
  * Use of this source code is governed by an MIT-style license that can be
375
375
  * found in the LICENSE file at https://angular.io/license
376
376
  */
377
- //# sourceMappingURL=chunk-5GPIY4NW.js.map
377
+ //# sourceMappingURL=chunk-RM7DQTAJ.js.map
@@ -855,7 +855,7 @@ var declarationFunctions = [
855
855
  ];
856
856
  function createLinkerMap(environment, sourceUrl, code) {
857
857
  const linkers = /* @__PURE__ */ new Map();
858
- const LATEST_VERSION_RANGE = getRange("<=", "16.2.0-rc.0");
858
+ const LATEST_VERSION_RANGE = getRange("<=", "16.2.1");
859
859
  linkers.set(\u0275\u0275ngDeclareDirective, [
860
860
  { range: LATEST_VERSION_RANGE, linker: new PartialDirectiveLinkerVersion1(sourceUrl, code) }
861
861
  ]);
@@ -902,7 +902,7 @@ var PartialLinkerSelector = class {
902
902
  throw new Error(`Unknown partial declaration function ${functionName}.`);
903
903
  }
904
904
  const linkerRanges = this.linkers.get(functionName);
905
- if (version === "16.2.0-rc.0") {
905
+ if (version === "16.2.1") {
906
906
  return linkerRanges[linkerRanges.length - 1].linker;
907
907
  }
908
908
  const declarationRange = getRange(">=", minVersion);
@@ -232,7 +232,7 @@ function createSourceSpan(node) {
232
232
  const parseSf = new ParseSourceFile(sf.getFullText(), sf.fileName);
233
233
  return new ParseSourceSpan(new ParseLocation(parseSf, startOffset, startLine + 1, startCol + 1), new ParseLocation(parseSf, endOffset, endLine + 1, endCol + 1));
234
234
  }
235
- function compileResults(fac, def, metadataStmt, propName, additionalFields) {
235
+ function compileResults(fac, def, metadataStmt, propName, additionalFields, deferrableImports) {
236
236
  const statements = def.statements;
237
237
  if (metadataStmt !== null) {
238
238
  statements.push(metadataStmt);
@@ -243,7 +243,8 @@ function compileResults(fac, def, metadataStmt, propName, additionalFields) {
243
243
  name: propName,
244
244
  initializer: def.expression,
245
245
  statements: def.statements,
246
- type: def.type
246
+ type: def.type,
247
+ deferrableImports
247
248
  }
248
249
  ];
249
250
  if (additionalFields !== null) {
@@ -2315,11 +2316,23 @@ function resolveLiteral(decorator, literalCache) {
2315
2316
  import { compileDeclareFactoryFunction, compileFactoryFunction } from "@angular/compiler";
2316
2317
  function compileNgFactoryDefField(metadata) {
2317
2318
  const res = compileFactoryFunction(metadata);
2318
- return { name: "\u0275fac", initializer: res.expression, statements: res.statements, type: res.type };
2319
+ return {
2320
+ name: "\u0275fac",
2321
+ initializer: res.expression,
2322
+ statements: res.statements,
2323
+ type: res.type,
2324
+ deferrableImports: null
2325
+ };
2319
2326
  }
2320
2327
  function compileDeclareFactory(metadata) {
2321
2328
  const res = compileDeclareFactoryFunction(metadata);
2322
- return { name: "\u0275fac", initializer: res.expression, statements: res.statements, type: res.type };
2329
+ return {
2330
+ name: "\u0275fac",
2331
+ initializer: res.expression,
2332
+ statements: res.statements,
2333
+ type: res.type,
2334
+ deferrableImports: null
2335
+ };
2323
2336
  }
2324
2337
 
2325
2338
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/injectable_registry.mjs
@@ -2481,7 +2494,8 @@ function compileInputTransformFields(inputs) {
2481
2494
  name: `ngAcceptInputType_${input.classPropertyName}`,
2482
2495
  type: outputAst.transplantedType(input.transform.type),
2483
2496
  statements: [],
2484
- initializer: null
2497
+ initializer: null,
2498
+ deferrableImports: null
2485
2499
  });
2486
2500
  }
2487
2501
  }
@@ -4027,13 +4041,13 @@ var Visitor = class {
4027
4041
  }
4028
4042
  _visit(node, context) {
4029
4043
  let visitedNode = null;
4030
- node = ts18.visitEachChild(node, (child) => this._visit(child, context), context);
4044
+ node = ts18.visitEachChild(node, (child) => child && this._visit(child, context), context);
4031
4045
  if (ts18.isClassDeclaration(node)) {
4032
4046
  visitedNode = this._visitListEntryNode(node, (node2) => this.visitClassDeclaration(node2));
4033
4047
  } else {
4034
4048
  visitedNode = this.visitOtherNode(node);
4035
4049
  }
4036
- if (ts18.isBlock(visitedNode) || ts18.isSourceFile(visitedNode)) {
4050
+ if (visitedNode && (ts18.isBlock(visitedNode) || ts18.isSourceFile(visitedNode))) {
4037
4051
  visitedNode = this._maybeProcessStatements(visitedNode);
4038
4052
  }
4039
4053
  return visitedNode;
@@ -4080,17 +4094,23 @@ var IvyCompilationVisitor = class extends Visitor {
4080
4094
  this.compilation = compilation;
4081
4095
  this.constantPool = constantPool;
4082
4096
  this.classCompilationMap = /* @__PURE__ */ new Map();
4097
+ this.deferrableImports = /* @__PURE__ */ new Set();
4083
4098
  }
4084
4099
  visitClassDeclaration(node) {
4085
4100
  const result = this.compilation.compile(node, this.constantPool);
4086
4101
  if (result !== null) {
4087
4102
  this.classCompilationMap.set(node, result);
4103
+ for (const classResult of result) {
4104
+ if (classResult.deferrableImports !== null && classResult.deferrableImports.size > 0) {
4105
+ classResult.deferrableImports.forEach((importDecl) => this.deferrableImports.add(importDecl));
4106
+ }
4107
+ }
4088
4108
  }
4089
4109
  return { node };
4090
4110
  }
4091
4111
  };
4092
4112
  var IvyTransformationVisitor = class extends Visitor {
4093
- constructor(compilation, classCompilationMap, reflector, importManager, recordWrappedNodeExpr, isClosureCompilerEnabled, isCore) {
4113
+ constructor(compilation, classCompilationMap, reflector, importManager, recordWrappedNodeExpr, isClosureCompilerEnabled, isCore, deferrableImports) {
4094
4114
  super();
4095
4115
  this.compilation = compilation;
4096
4116
  this.classCompilationMap = classCompilationMap;
@@ -4099,6 +4119,7 @@ var IvyTransformationVisitor = class extends Visitor {
4099
4119
  this.recordWrappedNodeExpr = recordWrappedNodeExpr;
4100
4120
  this.isClosureCompilerEnabled = isClosureCompilerEnabled;
4101
4121
  this.isCore = isCore;
4122
+ this.deferrableImports = deferrableImports;
4102
4123
  }
4103
4124
  visitClassDeclaration(node) {
4104
4125
  if (!this.classCompilationMap.has(node)) {
@@ -4143,6 +4164,12 @@ var IvyTransformationVisitor = class extends Visitor {
4143
4164
  );
4144
4165
  return { node, after: statements };
4145
4166
  }
4167
+ visitOtherNode(node) {
4168
+ if (ts19.isImportDeclaration(node) && this.deferrableImports.has(node)) {
4169
+ return null;
4170
+ }
4171
+ return node;
4172
+ }
4146
4173
  _angularCoreDecorators(decl) {
4147
4174
  const decorators = this.reflector.getDecoratorsOfDeclaration(decl);
4148
4175
  if (decorators === null) {
@@ -4198,7 +4225,7 @@ function transformIvySourceFile(compilation, context, reflector, importRewriter,
4198
4225
  const importManager = new ImportManager(importRewriter);
4199
4226
  const compilationVisitor = new IvyCompilationVisitor(compilation, constantPool);
4200
4227
  visit(file, compilationVisitor, context);
4201
- const transformationVisitor = new IvyTransformationVisitor(compilation, compilationVisitor.classCompilationMap, reflector, importManager, recordWrappedNode, isClosureCompilerEnabled, isCore);
4228
+ const transformationVisitor = new IvyTransformationVisitor(compilation, compilationVisitor.classCompilationMap, reflector, importManager, recordWrappedNode, isClosureCompilerEnabled, isCore, compilationVisitor.deferrableImports);
4202
4229
  let sf = visit(file, transformationVisitor, context);
4203
4230
  const downlevelTranslatedCode = getLocalizeCompileTarget(context) < ts19.ScriptTarget.ES2015;
4204
4231
  const constants = constantPool.statements.map((stmt) => translateStatement(stmt, importManager, {
@@ -5063,21 +5090,21 @@ var DirectiveDecoratorHandler = class {
5063
5090
  const def = compileDirectiveFromMetadata(analysis.meta, pool, makeBindingParser());
5064
5091
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
5065
5092
  const classMetadata = analysis.classMetadata !== null ? compileClassMetadata(analysis.classMetadata).toStmt() : null;
5066
- return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields);
5093
+ return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields, null);
5067
5094
  }
5068
5095
  compilePartial(node, analysis, resolution) {
5069
5096
  const fac = compileDeclareFactory(toFactoryMetadata(analysis.meta, FactoryTarget.Directive));
5070
5097
  const def = compileDeclareDirectiveFromMetadata(analysis.meta);
5071
5098
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
5072
5099
  const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata(analysis.classMetadata).toStmt() : null;
5073
- return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields);
5100
+ return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields, null);
5074
5101
  }
5075
5102
  compileLocal(node, analysis, pool) {
5076
5103
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget.Directive));
5077
5104
  const def = compileDirectiveFromMetadata(analysis.meta, pool, makeBindingParser());
5078
5105
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
5079
5106
  const classMetadata = analysis.classMetadata !== null ? compileClassMetadata(analysis.classMetadata).toStmt() : null;
5080
- return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields);
5107
+ return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields, null);
5081
5108
  }
5082
5109
  findClassFieldWithAngularFeatures(node) {
5083
5110
  return this.reflector.getMembersOfClass(node).find((member) => {
@@ -5643,13 +5670,15 @@ var NgModuleDecoratorHandler = class {
5643
5670
  name: "\u0275mod",
5644
5671
  initializer: ngModuleDef.expression,
5645
5672
  statements: ngModuleDef.statements,
5646
- type: ngModuleDef.type
5673
+ type: ngModuleDef.type,
5674
+ deferrableImports: null
5647
5675
  },
5648
5676
  {
5649
5677
  name: "\u0275inj",
5650
5678
  initializer: injectorDef.expression,
5651
5679
  statements: injectorDef.statements,
5652
- type: injectorDef.type
5680
+ type: injectorDef.type,
5681
+ deferrableImports: null
5653
5682
  }
5654
5683
  ];
5655
5684
  return res;
@@ -6793,7 +6822,8 @@ var ComponentDecoratorHandler = class {
6793
6822
  const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
6794
6823
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
6795
6824
  const classMetadata = analysis.classMetadata !== null ? compileClassMetadata3(analysis.classMetadata).toStmt() : null;
6796
- return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields);
6825
+ const deferrableImports = this.deferredSymbolTracker.getDeferrableImportDecls();
6826
+ return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports);
6797
6827
  }
6798
6828
  compilePartial(node, analysis, resolution) {
6799
6829
  if (analysis.template.errors !== null && analysis.template.errors.length > 0) {
@@ -6810,7 +6840,7 @@ var ComponentDecoratorHandler = class {
6810
6840
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
6811
6841
  const def = compileDeclareComponentFromMetadata(meta, analysis.template, templateInfo);
6812
6842
  const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata3(analysis.classMetadata).toStmt() : null;
6813
- return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields);
6843
+ return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, null);
6814
6844
  }
6815
6845
  compileLocal(node, analysis, pool) {
6816
6846
  if (analysis.template.errors !== null && analysis.template.errors.length > 0) {
@@ -6827,7 +6857,7 @@ var ComponentDecoratorHandler = class {
6827
6857
  const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
6828
6858
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
6829
6859
  const classMetadata = analysis.classMetadata !== null ? compileClassMetadata3(analysis.classMetadata).toStmt() : null;
6830
- return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields);
6860
+ return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, null);
6831
6861
  }
6832
6862
  _checkForCyclicImport(importedFile, expr, origin) {
6833
6863
  const imported = resolveImportedFile(this.moduleResolver, importedFile, expr, origin);
@@ -7023,7 +7053,13 @@ var InjectableDecoratorHandler = class {
7023
7053
  }
7024
7054
  if (\u0275prov === void 0) {
7025
7055
  const res = compileInjectableFn(analysis.meta);
7026
- results.push({ name: "\u0275prov", initializer: res.expression, statements: res.statements, type: res.type });
7056
+ results.push({
7057
+ name: "\u0275prov",
7058
+ initializer: res.expression,
7059
+ statements: res.statements,
7060
+ type: res.type,
7061
+ deferrableImports: null
7062
+ });
7027
7063
  }
7028
7064
  return results;
7029
7065
  }
@@ -7289,19 +7325,19 @@ var PipeDecoratorHandler = class {
7289
7325
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
7290
7326
  const def = compilePipeFromMetadata(analysis.meta);
7291
7327
  const classMetadata = analysis.classMetadata !== null ? compileClassMetadata5(analysis.classMetadata).toStmt() : null;
7292
- return compileResults(fac, def, classMetadata, "\u0275pipe", null);
7328
+ return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
7293
7329
  }
7294
7330
  compilePartial(node, analysis) {
7295
7331
  const fac = compileDeclareFactory(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
7296
7332
  const def = compileDeclarePipeFromMetadata(analysis.meta);
7297
7333
  const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata5(analysis.classMetadata).toStmt() : null;
7298
- return compileResults(fac, def, classMetadata, "\u0275pipe", null);
7334
+ return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
7299
7335
  }
7300
7336
  compileLocal(node, analysis) {
7301
7337
  const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
7302
7338
  const def = compilePipeFromMetadata(analysis.meta);
7303
7339
  const classMetadata = analysis.classMetadata !== null ? compileClassMetadata5(analysis.classMetadata).toStmt() : null;
7304
- return compileResults(fac, def, classMetadata, "\u0275pipe", null);
7340
+ return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
7305
7341
  }
7306
7342
  };
7307
7343
 
@@ -7399,4 +7435,4 @@ export {
7399
7435
  * Use of this source code is governed by an MIT-style license that can be
7400
7436
  * found in the LICENSE file at https://angular.io/license
7401
7437
  */
7402
- //# sourceMappingURL=chunk-NYVNWJZI.js.map
7438
+ //# sourceMappingURL=chunk-WJOCH3Z7.js.map