@angular/compiler-cli 17.1.0-rc.0 → 17.1.0
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/{chunk-OQ7ITPZT.js → chunk-3WRR7A6G.js} +69 -42
- package/bundles/chunk-3WRR7A6G.js.map +6 -0
- package/bundles/{chunk-FIHKBAQF.js → chunk-5KZ4IU2X.js} +5 -5
- package/bundles/{chunk-SBDNBITT.js → chunk-CF2CT7RQ.js} +3 -3
- package/bundles/{chunk-YS2EFQ7B.js → chunk-GM44CTB7.js} +405 -220
- package/bundles/chunk-GM44CTB7.js.map +6 -0
- package/bundles/{chunk-QPMYDNZG.js → chunk-I3M5LXMW.js} +7 -7
- package/bundles/{chunk-R4KQI5XI.js → chunk-JOIB3454.js} +5 -5
- package/bundles/{chunk-AJU3W7PS.js → chunk-MLI2QFE3.js} +6 -6
- package/bundles/{chunk-R5FBSX7J.js → chunk-P34DHQ65.js} +32 -30
- package/bundles/{chunk-R5FBSX7J.js.map → chunk-P34DHQ65.js.map} +1 -1
- package/bundles/{chunk-Q5Y7HH3O.js → chunk-TGR3NXO6.js} +5 -5
- package/bundles/{chunk-WCD6LVCP.js → chunk-WMUBJYYX.js} +7 -7
- package/bundles/{chunk-75SXFAVW.js → chunk-YFIBJR5K.js} +184 -132
- package/bundles/chunk-YFIBJR5K.js.map +6 -0
- package/bundles/index.js +12 -12
- package/bundles/linker/babel/index.js +12 -12
- package/bundles/linker/index.js +4 -4
- package/bundles/ngcc/index.js +1 -1
- package/bundles/private/bazel.js +1 -1
- package/bundles/private/localize.js +3 -3
- package/bundles/private/migrations.js +5 -5
- package/bundles/private/tooling.js +5 -5
- package/bundles/src/bin/ng_xi18n.js +10 -10
- package/bundles/src/bin/ngc.js +8 -8
- package/bundles_metadata.json +1 -1
- package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
- package/package.json +2 -2
- package/src/ngtsc/annotations/component/src/handler.d.ts +21 -1
- package/src/ngtsc/annotations/component/src/metadata.d.ts +7 -1
- package/src/ngtsc/annotations/component/src/util.d.ts +1 -1
- package/src/ngtsc/annotations/directive/src/handler.d.ts +1 -1
- package/src/ngtsc/annotations/src/injectable.d.ts +1 -1
- package/src/ngtsc/core/api/src/public_options.d.ts +10 -0
- package/src/ngtsc/diagnostics/src/error_code.d.ts +20 -0
- package/src/ngtsc/imports/src/deferred_symbol_tracker.d.ts +16 -2
- package/src/ngtsc/metadata/src/api.d.ts +11 -0
- package/src/ngtsc/scope/src/api.d.ts +1 -0
- package/src/ngtsc/scope/src/typecheck.d.ts +3 -3
- package/src/ngtsc/scope/src/util.d.ts +1 -0
- package/src/ngtsc/transform/src/api.d.ts +1 -1
- package/src/ngtsc/typecheck/api/api.d.ts +3 -2
- package/src/ngtsc/typecheck/api/context.d.ts +2 -1
- package/src/ngtsc/typecheck/src/context.d.ts +2 -1
- package/src/ngtsc/typecheck/src/oob.d.ts +20 -0
- package/src/ngtsc/typecheck/src/type_check_block.d.ts +3 -2
- package/bundles/chunk-75SXFAVW.js.map +0 -6
- package/bundles/chunk-OQ7ITPZT.js.map +0 -6
- package/bundles/chunk-YS2EFQ7B.js.map +0 -6
- /package/bundles/{chunk-FIHKBAQF.js.map → chunk-5KZ4IU2X.js.map} +0 -0
- /package/bundles/{chunk-SBDNBITT.js.map → chunk-CF2CT7RQ.js.map} +0 -0
- /package/bundles/{chunk-QPMYDNZG.js.map → chunk-I3M5LXMW.js.map} +0 -0
- /package/bundles/{chunk-R4KQI5XI.js.map → chunk-JOIB3454.js.map} +0 -0
- /package/bundles/{chunk-AJU3W7PS.js.map → chunk-MLI2QFE3.js.map} +0 -0
- /package/bundles/{chunk-Q5Y7HH3O.js.map → chunk-TGR3NXO6.js.map} +0 -0
- /package/bundles/{chunk-WCD6LVCP.js.map → chunk-WMUBJYYX.js.map} +0 -0
|
@@ -29,18 +29,18 @@ import {
|
|
|
29
29
|
translateStatement,
|
|
30
30
|
translateType,
|
|
31
31
|
typeNodeToValueExpr
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-3WRR7A6G.js";
|
|
33
33
|
import {
|
|
34
34
|
PerfEvent,
|
|
35
35
|
PerfPhase
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-JOIB3454.js";
|
|
37
37
|
import {
|
|
38
38
|
absoluteFrom,
|
|
39
39
|
absoluteFromSourceFile,
|
|
40
40
|
relative
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-I3M5LXMW.js";
|
|
42
42
|
|
|
43
|
-
// bazel-out/
|
|
43
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
|
|
44
44
|
import { ExternalExpr, ParseLocation, ParseSourceFile, ParseSourceSpan, ReadPropExpr, WrappedNodeExpr } from "@angular/compiler";
|
|
45
45
|
import ts from "typescript";
|
|
46
46
|
function valueReferenceToExpression(valueRef) {
|
|
@@ -285,7 +285,7 @@ function isAbstractClassDeclaration(clazz) {
|
|
|
285
285
|
return ts.canHaveModifiers(clazz) && clazz.modifiers !== void 0 ? clazz.modifiers.some((mod) => mod.kind === ts.SyntaxKind.AbstractKeyword) : false;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
// bazel-out/
|
|
288
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic.mjs
|
|
289
289
|
var DynamicValue = class {
|
|
290
290
|
constructor(node, reason, code) {
|
|
291
291
|
this.node = node;
|
|
@@ -375,10 +375,10 @@ var DynamicValue = class {
|
|
|
375
375
|
}
|
|
376
376
|
};
|
|
377
377
|
|
|
378
|
-
// bazel-out/
|
|
378
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
|
|
379
379
|
import ts2 from "typescript";
|
|
380
380
|
|
|
381
|
-
// bazel-out/
|
|
381
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/result.mjs
|
|
382
382
|
var ResolvedModule = class {
|
|
383
383
|
constructor(exports, evaluate) {
|
|
384
384
|
this.exports = exports;
|
|
@@ -408,7 +408,7 @@ var EnumValue = class {
|
|
|
408
408
|
var KnownFn = class {
|
|
409
409
|
};
|
|
410
410
|
|
|
411
|
-
// bazel-out/
|
|
411
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/builtin.mjs
|
|
412
412
|
var ArraySliceBuiltinFn = class extends KnownFn {
|
|
413
413
|
constructor(lhs) {
|
|
414
414
|
super();
|
|
@@ -460,14 +460,14 @@ var StringConcatBuiltinFn = class extends KnownFn {
|
|
|
460
460
|
}
|
|
461
461
|
};
|
|
462
462
|
|
|
463
|
-
// bazel-out/
|
|
463
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/synthetic.mjs
|
|
464
464
|
var SyntheticValue = class {
|
|
465
465
|
constructor(value) {
|
|
466
466
|
this.value = value;
|
|
467
467
|
}
|
|
468
468
|
};
|
|
469
469
|
|
|
470
|
-
// bazel-out/
|
|
470
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
|
|
471
471
|
function literalBinaryOp(op) {
|
|
472
472
|
return { op, literal: true };
|
|
473
473
|
}
|
|
@@ -1045,7 +1045,7 @@ function owningModule(context, override = null) {
|
|
|
1045
1045
|
}
|
|
1046
1046
|
}
|
|
1047
1047
|
|
|
1048
|
-
// bazel-out/
|
|
1048
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.mjs
|
|
1049
1049
|
var PartialEvaluator = class {
|
|
1050
1050
|
constructor(host, checker, dependencyTracker) {
|
|
1051
1051
|
this.host = host;
|
|
@@ -1065,7 +1065,7 @@ var PartialEvaluator = class {
|
|
|
1065
1065
|
}
|
|
1066
1066
|
};
|
|
1067
1067
|
|
|
1068
|
-
// bazel-out/
|
|
1068
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
|
|
1069
1069
|
import ts3 from "typescript";
|
|
1070
1070
|
function describeResolvedType(value, maxDepth = 1) {
|
|
1071
1071
|
var _a, _b;
|
|
@@ -1195,7 +1195,7 @@ function getContainerNode(node) {
|
|
|
1195
1195
|
return node.getSourceFile();
|
|
1196
1196
|
}
|
|
1197
1197
|
|
|
1198
|
-
// bazel-out/
|
|
1198
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
|
|
1199
1199
|
import { LiteralExpr, WrappedNodeExpr as WrappedNodeExpr2 } from "@angular/compiler";
|
|
1200
1200
|
import ts4 from "typescript";
|
|
1201
1201
|
function getConstructorDependencies(clazz, reflector, isCore) {
|
|
@@ -1339,10 +1339,10 @@ function createUnsuitableInjectionTokenError(clazz, error) {
|
|
|
1339
1339
|
return new FatalDiagnosticError(ErrorCode.PARAM_MISSING_TOKEN, param.nameNode, chain, hints);
|
|
1340
1340
|
}
|
|
1341
1341
|
|
|
1342
|
-
// bazel-out/
|
|
1342
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
|
|
1343
1343
|
import ts7 from "typescript";
|
|
1344
1344
|
|
|
1345
|
-
// bazel-out/
|
|
1345
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/api.mjs
|
|
1346
1346
|
var MetaKind;
|
|
1347
1347
|
(function(MetaKind2) {
|
|
1348
1348
|
MetaKind2[MetaKind2["Directive"] = 0] = "Directive";
|
|
@@ -1355,10 +1355,10 @@ var MatchSource;
|
|
|
1355
1355
|
MatchSource2[MatchSource2["HostDirective"] = 1] = "HostDirective";
|
|
1356
1356
|
})(MatchSource || (MatchSource = {}));
|
|
1357
1357
|
|
|
1358
|
-
// bazel-out/
|
|
1358
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
|
|
1359
1359
|
import ts6 from "typescript";
|
|
1360
1360
|
|
|
1361
|
-
// bazel-out/
|
|
1361
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/property_mapping.mjs
|
|
1362
1362
|
var ClassPropertyMapping = class {
|
|
1363
1363
|
constructor(forwardMap) {
|
|
1364
1364
|
this.forwardMap = forwardMap;
|
|
@@ -1438,7 +1438,7 @@ function reverseMapFromForwardMap(forwardMap) {
|
|
|
1438
1438
|
return reverseMap;
|
|
1439
1439
|
}
|
|
1440
1440
|
|
|
1441
|
-
// bazel-out/
|
|
1441
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/util.mjs
|
|
1442
1442
|
import ts5 from "typescript";
|
|
1443
1443
|
function extractReferencesFromType(checker, def, bestGuessOwningModule) {
|
|
1444
1444
|
if (!ts5.isTupleTypeNode(def)) {
|
|
@@ -1628,7 +1628,7 @@ function hasInjectableFields(clazz, host) {
|
|
|
1628
1628
|
return members.some(({ isStatic, name }) => isStatic && (name === "\u0275prov" || name === "\u0275fac"));
|
|
1629
1629
|
}
|
|
1630
1630
|
|
|
1631
|
-
// bazel-out/
|
|
1631
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
|
|
1632
1632
|
var DtsMetadataReader = class {
|
|
1633
1633
|
constructor(checker, reflector) {
|
|
1634
1634
|
this.checker = checker;
|
|
@@ -1698,10 +1698,12 @@ var DtsMetadataReader = class {
|
|
|
1698
1698
|
isStandalone,
|
|
1699
1699
|
isSignal,
|
|
1700
1700
|
imports: null,
|
|
1701
|
+
deferredImports: null,
|
|
1701
1702
|
schemas: null,
|
|
1702
1703
|
decorator: null,
|
|
1703
1704
|
assumedToExportProviders: isComponent && isStandalone,
|
|
1704
|
-
preserveWhitespaces: false
|
|
1705
|
+
preserveWhitespaces: false,
|
|
1706
|
+
isExplicitlyDeferred: false
|
|
1705
1707
|
};
|
|
1706
1708
|
}
|
|
1707
1709
|
getPipeMetadata(ref) {
|
|
@@ -1724,7 +1726,8 @@ var DtsMetadataReader = class {
|
|
|
1724
1726
|
name,
|
|
1725
1727
|
nameExpr: null,
|
|
1726
1728
|
isStandalone,
|
|
1727
|
-
decorator: null
|
|
1729
|
+
decorator: null,
|
|
1730
|
+
isExplicitlyDeferred: false
|
|
1728
1731
|
};
|
|
1729
1732
|
}
|
|
1730
1733
|
};
|
|
@@ -1808,7 +1811,7 @@ function readHostDirectivesType(checker, type, bestGuessOwningModule) {
|
|
|
1808
1811
|
return result.length > 0 ? result : null;
|
|
1809
1812
|
}
|
|
1810
1813
|
|
|
1811
|
-
// bazel-out/
|
|
1814
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/inheritance.mjs
|
|
1812
1815
|
function flattenInheritedDirectiveMetadata(reader, dir) {
|
|
1813
1816
|
const topMeta = reader.getDirectiveMetadata(dir);
|
|
1814
1817
|
if (topMeta === null) {
|
|
@@ -1872,7 +1875,7 @@ function flattenInheritedDirectiveMetadata(reader, dir) {
|
|
|
1872
1875
|
};
|
|
1873
1876
|
}
|
|
1874
1877
|
|
|
1875
|
-
// bazel-out/
|
|
1878
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/registry.mjs
|
|
1876
1879
|
var LocalMetadataRegistry = class {
|
|
1877
1880
|
constructor() {
|
|
1878
1881
|
this.directives = /* @__PURE__ */ new Map();
|
|
@@ -1929,7 +1932,7 @@ var CompoundMetadataRegistry = class {
|
|
|
1929
1932
|
}
|
|
1930
1933
|
};
|
|
1931
1934
|
|
|
1932
|
-
// bazel-out/
|
|
1935
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/resource_registry.mjs
|
|
1933
1936
|
var ResourceRegistry = class {
|
|
1934
1937
|
constructor() {
|
|
1935
1938
|
this.externalTemplateToComponentsMap = /* @__PURE__ */ new Map();
|
|
@@ -1994,7 +1997,7 @@ var ResourceRegistry = class {
|
|
|
1994
1997
|
}
|
|
1995
1998
|
};
|
|
1996
1999
|
|
|
1997
|
-
// bazel-out/
|
|
2000
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/providers.mjs
|
|
1998
2001
|
var ExportedProviderStatusResolver = class {
|
|
1999
2002
|
constructor(metaReader) {
|
|
2000
2003
|
this.metaReader = metaReader;
|
|
@@ -2038,7 +2041,7 @@ var ExportedProviderStatusResolver = class {
|
|
|
2038
2041
|
}
|
|
2039
2042
|
};
|
|
2040
2043
|
|
|
2041
|
-
// bazel-out/
|
|
2044
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/host_directives_resolver.mjs
|
|
2042
2045
|
var EMPTY_ARRAY = [];
|
|
2043
2046
|
var HostDirectivesResolver = class {
|
|
2044
2047
|
constructor(metaReader) {
|
|
@@ -2101,7 +2104,7 @@ function resolveOutput(bindingName) {
|
|
|
2101
2104
|
return bindingName;
|
|
2102
2105
|
}
|
|
2103
2106
|
|
|
2104
|
-
// bazel-out/
|
|
2107
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
|
|
2105
2108
|
function makeDuplicateDeclarationError(node, data, kind) {
|
|
2106
2109
|
const context = [];
|
|
2107
2110
|
for (const decl of data) {
|
|
@@ -2297,7 +2300,7 @@ function getInheritedUndecoratedCtorDiagnostic(node, baseClass, kind) {
|
|
|
2297
2300
|
return makeDiagnostic(ErrorCode.DIRECTIVE_INHERITS_UNDECORATED_CTOR, node.name, `The ${kind.toLowerCase()} ${node.name.text} inherits its constructor from ${baseClassName}, but the latter does not have an Angular decorator of its own. Dependency injection will not be able to resolve the parameters of ${baseClassName}'s constructor. Either add a @${baseNeedsDecorator} decorator to ${baseClassName}, or add an explicit constructor to ${node.name.text}.`);
|
|
2298
2301
|
}
|
|
2299
2302
|
|
|
2300
|
-
// bazel-out/
|
|
2303
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/evaluation.mjs
|
|
2301
2304
|
import { ViewEncapsulation } from "@angular/compiler";
|
|
2302
2305
|
import ts8 from "typescript";
|
|
2303
2306
|
function resolveEnumValue(evaluator, metadata, field, enumSymbolName) {
|
|
@@ -2348,7 +2351,7 @@ function resolveLiteral(decorator, literalCache) {
|
|
|
2348
2351
|
return meta;
|
|
2349
2352
|
}
|
|
2350
2353
|
|
|
2351
|
-
// bazel-out/
|
|
2354
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/factory.mjs
|
|
2352
2355
|
import { compileDeclareFactoryFunction, compileFactoryFunction } from "@angular/compiler";
|
|
2353
2356
|
function compileNgFactoryDefField(metadata) {
|
|
2354
2357
|
const res = compileFactoryFunction(metadata);
|
|
@@ -2371,7 +2374,7 @@ function compileDeclareFactory(metadata) {
|
|
|
2371
2374
|
};
|
|
2372
2375
|
}
|
|
2373
2376
|
|
|
2374
|
-
// bazel-out/
|
|
2377
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/injectable_registry.mjs
|
|
2375
2378
|
var InjectableClassRegistry = class {
|
|
2376
2379
|
constructor(host, isCore) {
|
|
2377
2380
|
this.host = host;
|
|
@@ -2397,7 +2400,7 @@ var InjectableClassRegistry = class {
|
|
|
2397
2400
|
}
|
|
2398
2401
|
};
|
|
2399
2402
|
|
|
2400
|
-
// bazel-out/
|
|
2403
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/metadata.mjs
|
|
2401
2404
|
import { ArrowFunctionExpr, LiteralArrayExpr, LiteralExpr as LiteralExpr2, literalMap, WrappedNodeExpr as WrappedNodeExpr3 } from "@angular/compiler";
|
|
2402
2405
|
import ts9 from "typescript";
|
|
2403
2406
|
function extractClassMetadata(clazz, reflection, isCore, annotateForClosureCompiler, angularDecoratorTransform = (dec) => dec) {
|
|
@@ -2482,7 +2485,7 @@ function removeIdentifierReferences(node, names) {
|
|
|
2482
2485
|
return result.transformed[0];
|
|
2483
2486
|
}
|
|
2484
2487
|
|
|
2485
|
-
// bazel-out/
|
|
2488
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/debug_info.mjs
|
|
2486
2489
|
import { literal as literal2, WrappedNodeExpr as WrappedNodeExpr4 } from "@angular/compiler";
|
|
2487
2490
|
import * as path from "path";
|
|
2488
2491
|
function extractClassDebugInfo(clazz, reflection, rootDirs, forbidOrphanRendering) {
|
|
@@ -2509,13 +2512,13 @@ function computeRelativePathIfPossible(filePath, rootDirs) {
|
|
|
2509
2512
|
return null;
|
|
2510
2513
|
}
|
|
2511
2514
|
|
|
2512
|
-
// bazel-out/
|
|
2515
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/references_registry.mjs
|
|
2513
2516
|
var NoopReferencesRegistry = class {
|
|
2514
2517
|
add(source, ...references) {
|
|
2515
2518
|
}
|
|
2516
2519
|
};
|
|
2517
2520
|
|
|
2518
|
-
// bazel-out/
|
|
2521
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/schema.mjs
|
|
2519
2522
|
import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from "@angular/compiler";
|
|
2520
2523
|
function extractSchemas(rawExpr, evaluator, context) {
|
|
2521
2524
|
const schemas = [];
|
|
@@ -2545,7 +2548,7 @@ function extractSchemas(rawExpr, evaluator, context) {
|
|
|
2545
2548
|
return schemas;
|
|
2546
2549
|
}
|
|
2547
2550
|
|
|
2548
|
-
// bazel-out/
|
|
2551
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/input_transforms.mjs
|
|
2549
2552
|
import { outputAst } from "@angular/compiler";
|
|
2550
2553
|
function compileInputTransformFields(inputs) {
|
|
2551
2554
|
const extraFields = [];
|
|
@@ -2563,11 +2566,11 @@ function compileInputTransformFields(inputs) {
|
|
|
2563
2566
|
return extraFields;
|
|
2564
2567
|
}
|
|
2565
2568
|
|
|
2566
|
-
// bazel-out/
|
|
2567
|
-
import { compileClassDebugInfo,
|
|
2569
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
|
|
2570
|
+
import { compileClassDebugInfo, compileComponentClassMetadata, compileComponentFromMetadata, compileDeclareClassMetadata as compileDeclareClassMetadata3, compileDeclareComponentFromMetadata, CssSelector as CssSelector2, DEFAULT_INTERPOLATION_CONFIG as DEFAULT_INTERPOLATION_CONFIG2, DomElementSchemaRegistry, FactoryTarget as FactoryTarget3, makeBindingParser as makeBindingParser2, R3TargetBinder, R3TemplateDependencyKind, SelectorMatcher as SelectorMatcher2, ViewEncapsulation as ViewEncapsulation2, WrappedNodeExpr as WrappedNodeExpr8 } from "@angular/compiler";
|
|
2568
2571
|
import ts25 from "typescript";
|
|
2569
2572
|
|
|
2570
|
-
// bazel-out/
|
|
2573
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/api.mjs
|
|
2571
2574
|
import ts10 from "typescript";
|
|
2572
2575
|
var SemanticSymbol = class {
|
|
2573
2576
|
constructor(decl) {
|
|
@@ -2583,7 +2586,7 @@ function getSymbolIdentifier(decl) {
|
|
|
2583
2586
|
return decl.name.text;
|
|
2584
2587
|
}
|
|
2585
2588
|
|
|
2586
|
-
// bazel-out/
|
|
2589
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/graph.mjs
|
|
2587
2590
|
import { ExternalExpr as ExternalExpr2 } from "@angular/compiler";
|
|
2588
2591
|
var OpaqueSymbol = class extends SemanticSymbol {
|
|
2589
2592
|
isPublicApiAffected() {
|
|
@@ -2726,10 +2729,10 @@ function getImportPath(expr) {
|
|
|
2726
2729
|
}
|
|
2727
2730
|
}
|
|
2728
2731
|
|
|
2729
|
-
// bazel-out/
|
|
2732
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
|
|
2730
2733
|
import ts11 from "typescript";
|
|
2731
2734
|
|
|
2732
|
-
// bazel-out/
|
|
2735
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/util.mjs
|
|
2733
2736
|
function isSymbolEqual(a, b) {
|
|
2734
2737
|
if (a.decl === b.decl) {
|
|
2735
2738
|
return true;
|
|
@@ -2779,7 +2782,7 @@ function isSetEqual(a, b, equalityTester = referenceEquality) {
|
|
|
2779
2782
|
return true;
|
|
2780
2783
|
}
|
|
2781
2784
|
|
|
2782
|
-
// bazel-out/
|
|
2785
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
|
|
2783
2786
|
function extractSemanticTypeParameters(node) {
|
|
2784
2787
|
if (!ts11.isClassDeclaration(node) || node.typeParameters === void 0) {
|
|
2785
2788
|
return null;
|
|
@@ -2799,14 +2802,14 @@ function isTypeParameterEqual(a, b) {
|
|
|
2799
2802
|
return a.hasGenericTypeBound === b.hasGenericTypeBound;
|
|
2800
2803
|
}
|
|
2801
2804
|
|
|
2802
|
-
// bazel-out/
|
|
2805
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/api.mjs
|
|
2803
2806
|
var ComponentScopeKind;
|
|
2804
2807
|
(function(ComponentScopeKind2) {
|
|
2805
2808
|
ComponentScopeKind2[ComponentScopeKind2["NgModule"] = 0] = "NgModule";
|
|
2806
2809
|
ComponentScopeKind2[ComponentScopeKind2["Standalone"] = 1] = "Standalone";
|
|
2807
2810
|
})(ComponentScopeKind || (ComponentScopeKind = {}));
|
|
2808
2811
|
|
|
2809
|
-
// bazel-out/
|
|
2812
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/component_scope.mjs
|
|
2810
2813
|
var CompoundComponentScopeReader = class {
|
|
2811
2814
|
constructor(readers) {
|
|
2812
2815
|
this.readers = readers;
|
|
@@ -2831,7 +2834,7 @@ var CompoundComponentScopeReader = class {
|
|
|
2831
2834
|
}
|
|
2832
2835
|
};
|
|
2833
2836
|
|
|
2834
|
-
// bazel-out/
|
|
2837
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/dependency.mjs
|
|
2835
2838
|
var MetadataDtsModuleScopeResolver = class {
|
|
2836
2839
|
constructor(dtsMetaReader, aliasingHost) {
|
|
2837
2840
|
this.dtsMetaReader = dtsMetaReader;
|
|
@@ -2907,11 +2910,11 @@ var MetadataDtsModuleScopeResolver = class {
|
|
|
2907
2910
|
}
|
|
2908
2911
|
};
|
|
2909
2912
|
|
|
2910
|
-
// bazel-out/
|
|
2913
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
|
|
2911
2914
|
import { ExternalExpr as ExternalExpr3 } from "@angular/compiler";
|
|
2912
2915
|
import ts12 from "typescript";
|
|
2913
2916
|
|
|
2914
|
-
// bazel-out/
|
|
2917
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/util.mjs
|
|
2915
2918
|
function getDiagnosticNode(ref, rawExpr) {
|
|
2916
2919
|
return rawExpr !== null ? ref.getOriginForDiagnostics(rawExpr) : ref.node.name;
|
|
2917
2920
|
}
|
|
@@ -2933,8 +2936,11 @@ function makeNotStandaloneDiagnostic(scopeReader, ref, rawExpr, kind) {
|
|
|
2933
2936
|
function makeUnknownComponentImportDiagnostic(ref, rawExpr) {
|
|
2934
2937
|
return makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, getDiagnosticNode(ref, rawExpr), `Component imports must be standalone components, directives, pipes, or must be NgModules.`);
|
|
2935
2938
|
}
|
|
2939
|
+
function makeUnknownComponentDeferredImportDiagnostic(ref, rawExpr) {
|
|
2940
|
+
return makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_DEFERRED_IMPORT, getDiagnosticNode(ref, rawExpr), `Component deferred imports must be standalone components, directives or pipes.`);
|
|
2941
|
+
}
|
|
2936
2942
|
|
|
2937
|
-
// bazel-out/
|
|
2943
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
|
|
2938
2944
|
var LocalModuleScopeRegistry = class {
|
|
2939
2945
|
constructor(localReader, fullReader, dependencyScopeReader, refEmitter, aliasingHost) {
|
|
2940
2946
|
this.localReader = localReader;
|
|
@@ -3273,7 +3279,7 @@ function reexportCollision(module, refA, refB) {
|
|
|
3273
3279
|
]);
|
|
3274
3280
|
}
|
|
3275
3281
|
|
|
3276
|
-
// bazel-out/
|
|
3282
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/typecheck.mjs
|
|
3277
3283
|
import { CssSelector, SelectorMatcher } from "@angular/compiler";
|
|
3278
3284
|
import ts13 from "typescript";
|
|
3279
3285
|
var TypeCheckScopeRegistry = class {
|
|
@@ -3298,24 +3304,30 @@ var TypeCheckScopeRegistry = class {
|
|
|
3298
3304
|
isPoisoned: false
|
|
3299
3305
|
};
|
|
3300
3306
|
}
|
|
3301
|
-
const
|
|
3302
|
-
const
|
|
3307
|
+
const isNgModuleScope = scope.kind === ComponentScopeKind.NgModule;
|
|
3308
|
+
const cacheKey = isNgModuleScope ? scope.ngModule : scope.component;
|
|
3309
|
+
const dependencies = isNgModuleScope ? scope.compilation.dependencies : scope.dependencies;
|
|
3303
3310
|
if (this.scopeCache.has(cacheKey)) {
|
|
3304
3311
|
return this.scopeCache.get(cacheKey);
|
|
3305
3312
|
}
|
|
3306
|
-
|
|
3313
|
+
let allDependencies = dependencies;
|
|
3314
|
+
if (!isNgModuleScope && Array.isArray(scope.deferredDependencies) && scope.deferredDependencies.length > 0) {
|
|
3315
|
+
allDependencies = [...allDependencies, ...scope.deferredDependencies];
|
|
3316
|
+
}
|
|
3317
|
+
for (const meta of allDependencies) {
|
|
3307
3318
|
if (meta.kind === MetaKind.Directive && meta.selector !== null) {
|
|
3308
3319
|
const extMeta = this.getTypeCheckDirectiveMetadata(meta.ref);
|
|
3309
3320
|
if (extMeta === null) {
|
|
3310
3321
|
continue;
|
|
3311
3322
|
}
|
|
3312
|
-
|
|
3313
|
-
|
|
3323
|
+
const directiveMeta = this.applyExplicitlyDeferredFlag(extMeta, meta.isExplicitlyDeferred);
|
|
3324
|
+
matcher.addSelectables(CssSelector.parse(meta.selector), [...this.hostDirectivesResolver.resolve(directiveMeta), directiveMeta]);
|
|
3325
|
+
directives.push(directiveMeta);
|
|
3314
3326
|
} else if (meta.kind === MetaKind.Pipe) {
|
|
3315
3327
|
if (!ts13.isClassDeclaration(meta.ref.node)) {
|
|
3316
3328
|
throw new Error(`Unexpected non-class declaration ${ts13.SyntaxKind[meta.ref.node.kind]} for pipe ${meta.ref.debugName}`);
|
|
3317
3329
|
}
|
|
3318
|
-
pipes.set(meta.name, meta
|
|
3330
|
+
pipes.set(meta.name, meta);
|
|
3319
3331
|
}
|
|
3320
3332
|
}
|
|
3321
3333
|
const typeCheckScope = {
|
|
@@ -3340,9 +3352,12 @@ var TypeCheckScopeRegistry = class {
|
|
|
3340
3352
|
this.flattenedDirectiveMetaCache.set(clazz, meta);
|
|
3341
3353
|
return meta;
|
|
3342
3354
|
}
|
|
3355
|
+
applyExplicitlyDeferredFlag(meta, isExplicitlyDeferred) {
|
|
3356
|
+
return isExplicitlyDeferred === true ? { ...meta, isExplicitlyDeferred } : meta;
|
|
3357
|
+
}
|
|
3343
3358
|
};
|
|
3344
3359
|
|
|
3345
|
-
// bazel-out/
|
|
3360
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/api.mjs
|
|
3346
3361
|
var CompilationMode;
|
|
3347
3362
|
(function(CompilationMode2) {
|
|
3348
3363
|
CompilationMode2[CompilationMode2["FULL"] = 0] = "FULL";
|
|
@@ -3356,7 +3371,7 @@ var HandlerPrecedence;
|
|
|
3356
3371
|
HandlerPrecedence2[HandlerPrecedence2["WEAK"] = 2] = "WEAK";
|
|
3357
3372
|
})(HandlerPrecedence || (HandlerPrecedence = {}));
|
|
3358
3373
|
|
|
3359
|
-
// bazel-out/
|
|
3374
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/alias.mjs
|
|
3360
3375
|
import ts14 from "typescript";
|
|
3361
3376
|
function aliasTransformFactory(exportStatements) {
|
|
3362
3377
|
return () => {
|
|
@@ -3379,10 +3394,10 @@ function aliasTransformFactory(exportStatements) {
|
|
|
3379
3394
|
};
|
|
3380
3395
|
}
|
|
3381
3396
|
|
|
3382
|
-
// bazel-out/
|
|
3397
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
|
|
3383
3398
|
import ts15 from "typescript";
|
|
3384
3399
|
|
|
3385
|
-
// bazel-out/
|
|
3400
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/trait.mjs
|
|
3386
3401
|
var TraitState;
|
|
3387
3402
|
(function(TraitState2) {
|
|
3388
3403
|
TraitState2[TraitState2["Pending"] = 0] = "Pending";
|
|
@@ -3439,7 +3454,7 @@ var TraitImpl = class {
|
|
|
3439
3454
|
}
|
|
3440
3455
|
};
|
|
3441
3456
|
|
|
3442
|
-
// bazel-out/
|
|
3457
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
|
|
3443
3458
|
var TraitCompiler = class {
|
|
3444
3459
|
constructor(handlers, reflector, perf, incrementalBuild, compileNonExportedClasses, compilationMode, dtsTransforms, semanticDepGraphUpdater, sourceFileTypeIdentifier) {
|
|
3445
3460
|
this.handlers = handlers;
|
|
@@ -3667,16 +3682,13 @@ var TraitCompiler = class {
|
|
|
3667
3682
|
}
|
|
3668
3683
|
}
|
|
3669
3684
|
const symbol = this.makeSymbolForTrait(trait.handler, clazz, (_a = result.analysis) != null ? _a : null);
|
|
3670
|
-
if (
|
|
3685
|
+
if (result.analysis !== void 0 && trait.handler.register !== void 0) {
|
|
3671
3686
|
trait.handler.register(clazz, result.analysis);
|
|
3672
3687
|
}
|
|
3673
3688
|
trait = trait.toAnalyzed((_b = result.analysis) != null ? _b : null, (_c = result.diagnostics) != null ? _c : null, symbol);
|
|
3674
3689
|
}
|
|
3675
3690
|
resolve() {
|
|
3676
3691
|
var _a, _b;
|
|
3677
|
-
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
3678
|
-
return;
|
|
3679
|
-
}
|
|
3680
3692
|
const classes = this.classes.keys();
|
|
3681
3693
|
for (const clazz of classes) {
|
|
3682
3694
|
const record = this.classes.get(clazz);
|
|
@@ -3723,7 +3735,7 @@ var TraitCompiler = class {
|
|
|
3723
3735
|
}
|
|
3724
3736
|
}
|
|
3725
3737
|
typeCheck(sf, ctx) {
|
|
3726
|
-
if (!this.fileToClasses.has(sf)) {
|
|
3738
|
+
if (!this.fileToClasses.has(sf) || this.compilationMode === CompilationMode.LOCAL) {
|
|
3727
3739
|
return;
|
|
3728
3740
|
}
|
|
3729
3741
|
for (const clazz of this.fileToClasses.get(sf)) {
|
|
@@ -3814,15 +3826,12 @@ var TraitCompiler = class {
|
|
|
3814
3826
|
let res = [];
|
|
3815
3827
|
for (const trait of record.traits) {
|
|
3816
3828
|
let compileRes;
|
|
3829
|
+
if (trait.state !== TraitState.Resolved || containsErrors(trait.analysisDiagnostics) || containsErrors(trait.resolveDiagnostics)) {
|
|
3830
|
+
continue;
|
|
3831
|
+
}
|
|
3817
3832
|
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
3818
|
-
|
|
3819
|
-
continue;
|
|
3820
|
-
}
|
|
3821
|
-
compileRes = trait.handler.compileLocal(clazz, trait.analysis, constantPool);
|
|
3833
|
+
compileRes = trait.handler.compileLocal(clazz, trait.analysis, trait.resolution, constantPool);
|
|
3822
3834
|
} else {
|
|
3823
|
-
if (trait.state !== TraitState.Resolved || containsErrors(trait.analysisDiagnostics) || containsErrors(trait.resolveDiagnostics)) {
|
|
3824
|
-
continue;
|
|
3825
|
-
}
|
|
3826
3835
|
if (this.compilationMode === CompilationMode.PARTIAL && trait.handler.compilePartial !== void 0) {
|
|
3827
3836
|
compileRes = trait.handler.compilePartial(clazz, trait.analysis, trait.resolution);
|
|
3828
3837
|
} else {
|
|
@@ -3887,10 +3896,10 @@ function containsErrors(diagnostics) {
|
|
|
3887
3896
|
return diagnostics !== null && diagnostics.some((diag) => diag.category === ts15.DiagnosticCategory.Error);
|
|
3888
3897
|
}
|
|
3889
3898
|
|
|
3890
|
-
// bazel-out/
|
|
3899
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
|
|
3891
3900
|
import ts17 from "typescript";
|
|
3892
3901
|
|
|
3893
|
-
// bazel-out/
|
|
3902
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/utils.mjs
|
|
3894
3903
|
import ts16 from "typescript";
|
|
3895
3904
|
function addImports(factory = ts16.factory, importManager, sf, extraStatements = []) {
|
|
3896
3905
|
const addedImports = importManager.getAllImports(sf.fileName).map((i) => {
|
|
@@ -3926,7 +3935,7 @@ function isImportStatement(stmt) {
|
|
|
3926
3935
|
return ts16.isImportDeclaration(stmt) || ts16.isImportEqualsDeclaration(stmt) || ts16.isNamespaceImport(stmt);
|
|
3927
3936
|
}
|
|
3928
3937
|
|
|
3929
|
-
// bazel-out/
|
|
3938
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
|
|
3930
3939
|
var DtsTransformRegistry = class {
|
|
3931
3940
|
constructor() {
|
|
3932
3941
|
this.ivyDeclarationTransforms = /* @__PURE__ */ new Map();
|
|
@@ -4073,11 +4082,11 @@ function markForEmitAsSingleLine(node) {
|
|
|
4073
4082
|
ts17.forEachChild(node, markForEmitAsSingleLine);
|
|
4074
4083
|
}
|
|
4075
4084
|
|
|
4076
|
-
// bazel-out/
|
|
4085
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
|
|
4077
4086
|
import { ConstantPool } from "@angular/compiler";
|
|
4078
4087
|
import ts19 from "typescript";
|
|
4079
4088
|
|
|
4080
|
-
// bazel-out/
|
|
4089
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/visitor.mjs
|
|
4081
4090
|
import ts18 from "typescript";
|
|
4082
4091
|
function visit(node, visitor, context) {
|
|
4083
4092
|
return visitor._visit(node, context);
|
|
@@ -4138,7 +4147,7 @@ var Visitor = class {
|
|
|
4138
4147
|
}
|
|
4139
4148
|
};
|
|
4140
4149
|
|
|
4141
|
-
// bazel-out/
|
|
4150
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
|
|
4142
4151
|
var NO_DECORATORS = /* @__PURE__ */ new Set();
|
|
4143
4152
|
var CLOSURE_FILE_OVERVIEW_REGEXP = /\s+@fileoverview\s+/i;
|
|
4144
4153
|
function ivyTransformFactory(compilation, reflector, importRewriter, defaultImportTracker, perf, isCore, isClosureCompilerEnabled) {
|
|
@@ -4362,14 +4371,14 @@ function nodeArrayFromDecoratorsArray(decorators) {
|
|
|
4362
4371
|
return array;
|
|
4363
4372
|
}
|
|
4364
4373
|
|
|
4365
|
-
// bazel-out/
|
|
4374
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
|
|
4366
4375
|
import { compileClassMetadata, compileDeclareClassMetadata, compileDeclareDirectiveFromMetadata, compileDirectiveFromMetadata, FactoryTarget, makeBindingParser, WrappedNodeExpr as WrappedNodeExpr6 } from "@angular/compiler";
|
|
4367
4376
|
|
|
4368
|
-
// bazel-out/
|
|
4377
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
|
|
4369
4378
|
import { createMayBeForwardRefExpression, emitDistinctChangesOnlyDefaultValue, ExternalExpr as ExternalExpr4, getSafePropertyAccessString, parseHostBindings, verifyHostBindings, WrappedNodeExpr as WrappedNodeExpr5 } from "@angular/compiler";
|
|
4370
4379
|
import ts21 from "typescript";
|
|
4371
4380
|
|
|
4372
|
-
// bazel-out/
|
|
4381
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/input_function.mjs
|
|
4373
4382
|
import ts20 from "typescript";
|
|
4374
4383
|
function tryParseInputInitializerAndOptions(member, reflector, coreModule) {
|
|
4375
4384
|
if (member.value === null || !ts20.isCallExpression(member.value)) {
|
|
@@ -4453,7 +4462,7 @@ function tryParseSignalInputMapping(member, reflector, coreModule) {
|
|
|
4453
4462
|
};
|
|
4454
4463
|
}
|
|
4455
4464
|
|
|
4456
|
-
// bazel-out/
|
|
4465
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
|
|
4457
4466
|
var EMPTY_OBJECT = {};
|
|
4458
4467
|
var QUERY_TYPES = /* @__PURE__ */ new Set([
|
|
4459
4468
|
"ContentChild",
|
|
@@ -5108,7 +5117,7 @@ function toR3InputMetadata(mapping) {
|
|
|
5108
5117
|
};
|
|
5109
5118
|
}
|
|
5110
5119
|
|
|
5111
|
-
// bazel-out/
|
|
5120
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/symbol.mjs
|
|
5112
5121
|
var DirectiveSymbol = class extends SemanticSymbol {
|
|
5113
5122
|
constructor(decl, selector, inputs, outputs, exportAs, typeCheckMeta, typeParameters) {
|
|
5114
5123
|
super(decl);
|
|
@@ -5188,7 +5197,7 @@ function isBaseClassEqual(current, previous) {
|
|
|
5188
5197
|
return isSymbolEqual(current, previous);
|
|
5189
5198
|
}
|
|
5190
5199
|
|
|
5191
|
-
// bazel-out/
|
|
5200
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
|
|
5192
5201
|
var FIELD_DECORATORS = [
|
|
5193
5202
|
"Input",
|
|
5194
5203
|
"Output",
|
|
@@ -5278,6 +5287,9 @@ var DirectiveDecoratorHandler = class {
|
|
|
5278
5287
|
return new DirectiveSymbol(node, analysis.meta.selector, analysis.inputs, analysis.outputs, analysis.meta.exportAs, analysis.typeCheckMeta, typeParameters);
|
|
5279
5288
|
}
|
|
5280
5289
|
register(node, analysis) {
|
|
5290
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
5291
|
+
return;
|
|
5292
|
+
}
|
|
5281
5293
|
const ref = new Reference(node);
|
|
5282
5294
|
this.metaRegistry.registerDirectiveMetadata({
|
|
5283
5295
|
kind: MetaKind.Directive,
|
|
@@ -5299,17 +5311,22 @@ var DirectiveDecoratorHandler = class {
|
|
|
5299
5311
|
isStandalone: analysis.meta.isStandalone,
|
|
5300
5312
|
isSignal: analysis.meta.isSignal,
|
|
5301
5313
|
imports: null,
|
|
5314
|
+
deferredImports: null,
|
|
5302
5315
|
schemas: null,
|
|
5303
5316
|
ngContentSelectors: null,
|
|
5304
5317
|
decorator: analysis.decorator,
|
|
5305
5318
|
preserveWhitespaces: false,
|
|
5306
|
-
assumedToExportProviders: false
|
|
5319
|
+
assumedToExportProviders: false,
|
|
5320
|
+
isExplicitlyDeferred: false
|
|
5307
5321
|
});
|
|
5308
5322
|
this.injectableRegistry.registerInjectable(node, {
|
|
5309
5323
|
ctorDeps: analysis.meta.deps
|
|
5310
5324
|
});
|
|
5311
5325
|
}
|
|
5312
5326
|
resolve(node, analysis, symbol) {
|
|
5327
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
5328
|
+
return {};
|
|
5329
|
+
}
|
|
5313
5330
|
if (this.semanticDepGraphUpdater !== null && analysis.baseClass instanceof Reference) {
|
|
5314
5331
|
symbol.baseClass = this.semanticDepGraphUpdater.getSymbol(analysis.baseClass.node);
|
|
5315
5332
|
}
|
|
@@ -5342,7 +5359,7 @@ var DirectiveDecoratorHandler = class {
|
|
|
5342
5359
|
const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata(analysis.classMetadata).toStmt() : null;
|
|
5343
5360
|
return compileResults(fac, def, classMetadata, "\u0275dir", inputTransformFields, null);
|
|
5344
5361
|
}
|
|
5345
|
-
compileLocal(node, analysis, pool) {
|
|
5362
|
+
compileLocal(node, analysis, resolution, pool) {
|
|
5346
5363
|
const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget.Directive));
|
|
5347
5364
|
const def = compileDirectiveFromMetadata(analysis.meta, pool, makeBindingParser());
|
|
5348
5365
|
const inputTransformFields = compileInputTransformFields(analysis.inputs);
|
|
@@ -5362,11 +5379,11 @@ var DirectiveDecoratorHandler = class {
|
|
|
5362
5379
|
}
|
|
5363
5380
|
};
|
|
5364
5381
|
|
|
5365
|
-
// bazel-out/
|
|
5382
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
|
|
5366
5383
|
import { compileClassMetadata as compileClassMetadata2, compileDeclareClassMetadata as compileDeclareClassMetadata2, compileDeclareInjectorFromMetadata, compileDeclareNgModuleFromMetadata, compileInjector, compileNgModule, ExternalExpr as ExternalExpr5, FactoryTarget as FactoryTarget2, FunctionExpr, InvokeFunctionExpr, LiteralArrayExpr as LiteralArrayExpr2, R3Identifiers, R3NgModuleMetadataKind, R3SelectorScopeMode, ReturnStatement, WrappedNodeExpr as WrappedNodeExpr7 } from "@angular/compiler";
|
|
5367
5384
|
import ts23 from "typescript";
|
|
5368
5385
|
|
|
5369
|
-
// bazel-out/
|
|
5386
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/module_with_providers.mjs
|
|
5370
5387
|
import ts22 from "typescript";
|
|
5371
5388
|
function createModuleWithProvidersResolver(reflector, isCore) {
|
|
5372
5389
|
function _reflectModuleFromTypeParam(type, node) {
|
|
@@ -5433,7 +5450,7 @@ function isResolvedModuleWithProviders(sv) {
|
|
|
5433
5450
|
return typeof sv.value === "object" && sv.value != null && sv.value.hasOwnProperty("ngModule") && sv.value.hasOwnProperty("mwpCall");
|
|
5434
5451
|
}
|
|
5435
5452
|
|
|
5436
|
-
// bazel-out/
|
|
5453
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
|
|
5437
5454
|
var NgModuleSymbol = class extends SemanticSymbol {
|
|
5438
5455
|
constructor(decl, hasProviders) {
|
|
5439
5456
|
super(decl);
|
|
@@ -5742,6 +5759,9 @@ var NgModuleDecoratorHandler = class {
|
|
|
5742
5759
|
return new NgModuleSymbol(node, analysis.providers !== null);
|
|
5743
5760
|
}
|
|
5744
5761
|
register(node, analysis) {
|
|
5762
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
5763
|
+
return;
|
|
5764
|
+
}
|
|
5745
5765
|
this.metaRegistry.registerNgModuleMetadata({
|
|
5746
5766
|
kind: MetaKind.NgModule,
|
|
5747
5767
|
ref: new Reference(node),
|
|
@@ -5760,6 +5780,9 @@ var NgModuleDecoratorHandler = class {
|
|
|
5760
5780
|
});
|
|
5761
5781
|
}
|
|
5762
5782
|
resolve(node, analysis) {
|
|
5783
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
5784
|
+
return {};
|
|
5785
|
+
}
|
|
5763
5786
|
const scope = this.scopeRegistry.getScopeOfModule(node);
|
|
5764
5787
|
const diagnostics = [];
|
|
5765
5788
|
const scopeDiagnostics = this.scopeRegistry.getDiagnosticsOfModule(node);
|
|
@@ -6002,7 +6025,7 @@ function isSyntheticReference(ref) {
|
|
|
6002
6025
|
return ref.synthetic;
|
|
6003
6026
|
}
|
|
6004
6027
|
|
|
6005
|
-
// bazel-out/
|
|
6028
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/diagnostics.mjs
|
|
6006
6029
|
function makeCyclicImportInfo(ref, type, cycle) {
|
|
6007
6030
|
const name = ref.debugName || "(unknown)";
|
|
6008
6031
|
const path2 = cycle.getPath().map((sf) => sf.fileName).join(" -> ");
|
|
@@ -6025,7 +6048,7 @@ function checkCustomElementSelectorForErrors(selector) {
|
|
|
6025
6048
|
return null;
|
|
6026
6049
|
}
|
|
6027
6050
|
|
|
6028
|
-
// bazel-out/
|
|
6051
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.mjs
|
|
6029
6052
|
import { DEFAULT_INTERPOLATION_CONFIG, InterpolationConfig, ParseSourceFile as ParseSourceFile2, parseTemplate } from "@angular/compiler";
|
|
6030
6053
|
import ts24 from "typescript";
|
|
6031
6054
|
function getTemplateDeclarationNodeForError(declaration) {
|
|
@@ -6384,7 +6407,7 @@ function _extractTemplateStyleUrls(template) {
|
|
|
6384
6407
|
return template.styleUrls.map((url) => ({ url, source: 1, nodeForError }));
|
|
6385
6408
|
}
|
|
6386
6409
|
|
|
6387
|
-
// bazel-out/
|
|
6410
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/symbol.mjs
|
|
6388
6411
|
var ComponentSymbol = class extends DirectiveSymbol {
|
|
6389
6412
|
constructor() {
|
|
6390
6413
|
super(...arguments);
|
|
@@ -6419,7 +6442,7 @@ var ComponentSymbol = class extends DirectiveSymbol {
|
|
|
6419
6442
|
}
|
|
6420
6443
|
};
|
|
6421
6444
|
|
|
6422
|
-
// bazel-out/
|
|
6445
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/util.mjs
|
|
6423
6446
|
function collectAnimationNames(value, animationTriggerNames) {
|
|
6424
6447
|
if (value instanceof Map) {
|
|
6425
6448
|
const name = value.get("name");
|
|
@@ -6452,10 +6475,11 @@ var animationTriggerResolver = (fn, node, resolve, unresolvable) => {
|
|
|
6452
6475
|
res.set("name", resolve(triggerNameExpression));
|
|
6453
6476
|
return res;
|
|
6454
6477
|
};
|
|
6455
|
-
function validateAndFlattenComponentImports(imports, expr) {
|
|
6478
|
+
function validateAndFlattenComponentImports(imports, expr, isDeferred) {
|
|
6456
6479
|
const flattened = [];
|
|
6480
|
+
const errorMessage = isDeferred ? `'deferredImports' must be an array of components, directives, or pipes.` : `'imports' must be an array of components, directives, pipes, or NgModules.`;
|
|
6457
6481
|
if (!Array.isArray(imports)) {
|
|
6458
|
-
const error = createValueHasWrongTypeError(expr, imports,
|
|
6482
|
+
const error = createValueHasWrongTypeError(expr, imports, errorMessage).toDiagnostic();
|
|
6459
6483
|
return {
|
|
6460
6484
|
imports: [],
|
|
6461
6485
|
diagnostics: [error]
|
|
@@ -6464,23 +6488,23 @@ function validateAndFlattenComponentImports(imports, expr) {
|
|
|
6464
6488
|
const diagnostics = [];
|
|
6465
6489
|
for (const ref of imports) {
|
|
6466
6490
|
if (Array.isArray(ref)) {
|
|
6467
|
-
const { imports: childImports, diagnostics: childDiagnostics } = validateAndFlattenComponentImports(ref, expr);
|
|
6491
|
+
const { imports: childImports, diagnostics: childDiagnostics } = validateAndFlattenComponentImports(ref, expr, isDeferred);
|
|
6468
6492
|
flattened.push(...childImports);
|
|
6469
6493
|
diagnostics.push(...childDiagnostics);
|
|
6470
6494
|
} else if (ref instanceof Reference) {
|
|
6471
6495
|
if (isNamedClassDeclaration(ref.node)) {
|
|
6472
6496
|
flattened.push(ref);
|
|
6473
6497
|
} else {
|
|
6474
|
-
diagnostics.push(createValueHasWrongTypeError(ref.getOriginForDiagnostics(expr), ref,
|
|
6498
|
+
diagnostics.push(createValueHasWrongTypeError(ref.getOriginForDiagnostics(expr), ref, errorMessage).toDiagnostic());
|
|
6475
6499
|
}
|
|
6476
6500
|
} else if (isLikelyModuleWithProviders(ref)) {
|
|
6477
6501
|
let origin = expr;
|
|
6478
6502
|
if (ref instanceof SyntheticValue) {
|
|
6479
6503
|
origin = getOriginNodeForDiagnostics(ref.value.mwpCall, expr);
|
|
6480
6504
|
}
|
|
6481
|
-
diagnostics.push(makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, origin, `
|
|
6505
|
+
diagnostics.push(makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, origin, `Component imports contains a ModuleWithProviders value, likely the result of a 'Module.forRoot()'-style call. These calls are not used to configure components and are not valid in standalone component imports - consider importing them in the application bootstrap instead.`));
|
|
6482
6506
|
} else {
|
|
6483
|
-
diagnostics.push(createValueHasWrongTypeError(expr, imports,
|
|
6507
|
+
diagnostics.push(createValueHasWrongTypeError(expr, imports, errorMessage).toDiagnostic());
|
|
6484
6508
|
}
|
|
6485
6509
|
}
|
|
6486
6510
|
return { imports: flattened, diagnostics };
|
|
@@ -6495,7 +6519,7 @@ function isLikelyModuleWithProviders(value) {
|
|
|
6495
6519
|
return false;
|
|
6496
6520
|
}
|
|
6497
6521
|
|
|
6498
|
-
// bazel-out/
|
|
6522
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
|
|
6499
6523
|
var EMPTY_ARRAY2 = [];
|
|
6500
6524
|
var isUsedDirective = (decl) => decl.kind === R3TemplateDependencyKind.Directive;
|
|
6501
6525
|
var isUsedPipe = (decl) => decl.kind === R3TemplateDependencyKind.Pipe;
|
|
@@ -6605,7 +6629,7 @@ var ComponentDecoratorHandler = class {
|
|
|
6605
6629
|
]).then(() => void 0);
|
|
6606
6630
|
}
|
|
6607
6631
|
analyze(node, decorator) {
|
|
6608
|
-
var _a, _b, _c, _d;
|
|
6632
|
+
var _a, _b, _c, _d, _e;
|
|
6609
6633
|
this.perf.eventCount(PerfEvent.AnalyzeComponent);
|
|
6610
6634
|
const containingFile = node.getSourceFile().fileName;
|
|
6611
6635
|
this.literalCache.delete(decorator);
|
|
@@ -6652,23 +6676,38 @@ var ComponentDecoratorHandler = class {
|
|
|
6652
6676
|
providersRequiringFactory = resolveProvidersRequiringFactory(component.get("providers"), this.reflector, this.evaluator);
|
|
6653
6677
|
}
|
|
6654
6678
|
let resolvedImports = null;
|
|
6679
|
+
let resolvedDeferredImports = null;
|
|
6655
6680
|
let rawImports = (_b = component.get("imports")) != null ? _b : null;
|
|
6656
|
-
|
|
6681
|
+
let rawDeferredImports = (_c = component.get("deferredImports")) != null ? _c : null;
|
|
6682
|
+
if ((rawImports || rawDeferredImports) && !metadata.isStandalone) {
|
|
6657
6683
|
if (diagnostics === void 0) {
|
|
6658
6684
|
diagnostics = [];
|
|
6659
6685
|
}
|
|
6660
|
-
|
|
6686
|
+
const importsField = rawImports ? "imports" : "deferredImports";
|
|
6687
|
+
diagnostics.push(makeDiagnostic(ErrorCode.COMPONENT_NOT_STANDALONE, component.get(importsField), `'${importsField}' is only valid on a component that is standalone.`, [makeRelatedInformation(node.name, `Did you forget to add 'standalone: true' to this @Component?`)]));
|
|
6661
6688
|
isPoisoned = true;
|
|
6662
|
-
} else if (this.compilationMode !== CompilationMode.LOCAL && rawImports) {
|
|
6663
|
-
const expr = rawImports;
|
|
6689
|
+
} else if (this.compilationMode !== CompilationMode.LOCAL && (rawImports || rawDeferredImports)) {
|
|
6664
6690
|
const importResolvers = combineResolvers([
|
|
6665
6691
|
createModuleWithProvidersResolver(this.reflector, this.isCore),
|
|
6666
6692
|
forwardRefResolver
|
|
6667
6693
|
]);
|
|
6668
|
-
const
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6694
|
+
const importDiagnostics = [];
|
|
6695
|
+
if (rawImports) {
|
|
6696
|
+
const expr = rawImports;
|
|
6697
|
+
const imported = this.evaluator.evaluate(expr, importResolvers);
|
|
6698
|
+
const { imports: flattened, diagnostics: diagnostics2 } = validateAndFlattenComponentImports(imported, expr, false);
|
|
6699
|
+
importDiagnostics.push(...diagnostics2);
|
|
6700
|
+
resolvedImports = flattened;
|
|
6701
|
+
rawImports = expr;
|
|
6702
|
+
}
|
|
6703
|
+
if (rawDeferredImports) {
|
|
6704
|
+
const expr = rawDeferredImports;
|
|
6705
|
+
const imported = this.evaluator.evaluate(expr, importResolvers);
|
|
6706
|
+
const { imports: flattened, diagnostics: diagnostics2 } = validateAndFlattenComponentImports(imported, expr, true);
|
|
6707
|
+
importDiagnostics.push(...diagnostics2);
|
|
6708
|
+
resolvedDeferredImports = flattened;
|
|
6709
|
+
rawDeferredImports = expr;
|
|
6710
|
+
}
|
|
6672
6711
|
if (importDiagnostics.length > 0) {
|
|
6673
6712
|
isPoisoned = true;
|
|
6674
6713
|
if (diagnostics === void 0) {
|
|
@@ -6762,6 +6801,15 @@ var ComponentDecoratorHandler = class {
|
|
|
6762
6801
|
if (template.styles.length > 0) {
|
|
6763
6802
|
styles.push(...template.styles);
|
|
6764
6803
|
}
|
|
6804
|
+
let explicitlyDeferredTypes = null;
|
|
6805
|
+
if (metadata.isStandalone && rawDeferredImports !== null) {
|
|
6806
|
+
const deferredTypes = this.collectExplicitlyDeferredSymbols(rawDeferredImports);
|
|
6807
|
+
for (const [deferredType, importDetails] of deferredTypes) {
|
|
6808
|
+
explicitlyDeferredTypes != null ? explicitlyDeferredTypes : explicitlyDeferredTypes = /* @__PURE__ */ new Map();
|
|
6809
|
+
explicitlyDeferredTypes.set(importDetails.name, importDetails.from);
|
|
6810
|
+
this.deferredSymbolTracker.markAsDeferrableCandidate(deferredType, importDetails.node, node, true);
|
|
6811
|
+
}
|
|
6812
|
+
}
|
|
6765
6813
|
const output = {
|
|
6766
6814
|
analysis: {
|
|
6767
6815
|
baseClass: readBaseClass(node, this.reflector, this.evaluator),
|
|
@@ -6774,7 +6822,7 @@ var ComponentDecoratorHandler = class {
|
|
|
6774
6822
|
template,
|
|
6775
6823
|
encapsulation,
|
|
6776
6824
|
changeDetection,
|
|
6777
|
-
interpolation: (
|
|
6825
|
+
interpolation: (_d = template.interpolationConfig) != null ? _d : DEFAULT_INTERPOLATION_CONFIG2,
|
|
6778
6826
|
styles,
|
|
6779
6827
|
animations,
|
|
6780
6828
|
viewProviders: wrappedViewProviders,
|
|
@@ -6803,8 +6851,11 @@ var ComponentDecoratorHandler = class {
|
|
|
6803
6851
|
animationTriggerNames,
|
|
6804
6852
|
rawImports,
|
|
6805
6853
|
resolvedImports,
|
|
6854
|
+
rawDeferredImports,
|
|
6855
|
+
resolvedDeferredImports,
|
|
6856
|
+
explicitlyDeferredTypes,
|
|
6806
6857
|
schemas,
|
|
6807
|
-
decorator: (
|
|
6858
|
+
decorator: (_e = decorator == null ? void 0 : decorator.node) != null ? _e : null
|
|
6808
6859
|
},
|
|
6809
6860
|
diagnostics
|
|
6810
6861
|
};
|
|
@@ -6816,6 +6867,9 @@ var ComponentDecoratorHandler = class {
|
|
|
6816
6867
|
}
|
|
6817
6868
|
register(node, analysis) {
|
|
6818
6869
|
var _a;
|
|
6870
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
6871
|
+
return;
|
|
6872
|
+
}
|
|
6819
6873
|
const ref = new Reference(node);
|
|
6820
6874
|
this.metaRegistry.registerDirectiveMetadata({
|
|
6821
6875
|
kind: MetaKind.Directive,
|
|
@@ -6836,12 +6890,14 @@ var ComponentDecoratorHandler = class {
|
|
|
6836
6890
|
isStandalone: analysis.meta.isStandalone,
|
|
6837
6891
|
isSignal: analysis.meta.isSignal,
|
|
6838
6892
|
imports: analysis.resolvedImports,
|
|
6893
|
+
deferredImports: analysis.resolvedDeferredImports,
|
|
6839
6894
|
animationTriggerNames: analysis.animationTriggerNames,
|
|
6840
6895
|
schemas: analysis.schemas,
|
|
6841
6896
|
decorator: analysis.decorator,
|
|
6842
6897
|
assumedToExportProviders: false,
|
|
6843
6898
|
ngContentSelectors: analysis.template.ngContentSelectors,
|
|
6844
|
-
preserveWhitespaces: (_a = analysis.template.preserveWhitespaces) != null ? _a : false
|
|
6899
|
+
preserveWhitespaces: (_a = analysis.template.preserveWhitespaces) != null ? _a : false,
|
|
6900
|
+
isExplicitlyDeferred: false
|
|
6845
6901
|
});
|
|
6846
6902
|
this.resourceRegistry.registerResources(analysis.resources, node);
|
|
6847
6903
|
this.injectableRegistry.registerInjectable(node, {
|
|
@@ -6898,38 +6954,66 @@ var ComponentDecoratorHandler = class {
|
|
|
6898
6954
|
return extendedTemplateChecker.getDiagnosticsForComponent(component);
|
|
6899
6955
|
}
|
|
6900
6956
|
resolve(node, analysis, symbol) {
|
|
6957
|
+
const metadata = analysis.meta;
|
|
6958
|
+
const diagnostics = [];
|
|
6959
|
+
const context = getSourceFile(node);
|
|
6960
|
+
const nonRemovableImports = this.deferredSymbolTracker.getNonRemovableDeferredImports(context, node);
|
|
6961
|
+
if (nonRemovableImports.length > 0) {
|
|
6962
|
+
for (const importDecl of nonRemovableImports) {
|
|
6963
|
+
const diagnostic = makeDiagnostic(ErrorCode.DEFERRED_DEPENDENCY_IMPORTED_EAGERLY, importDecl, `This import contains symbols used in the \`@Component.deferredImports\` array of the \`${node.name.getText()}\` component, but also some other symbols that are not in any \`@Component.deferredImports\` array. This renders all these defer imports useless as this import remains and its module is eagerly loaded. To fix this, make sure that this import contains *only* symbols that are used within \`@Component.deferredImports\` arrays.`);
|
|
6964
|
+
diagnostics.push(diagnostic);
|
|
6965
|
+
}
|
|
6966
|
+
return { diagnostics };
|
|
6967
|
+
}
|
|
6968
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
6969
|
+
return {
|
|
6970
|
+
data: {
|
|
6971
|
+
declarationListEmitMode: !analysis.meta.isStandalone || analysis.rawImports !== null ? 3 : 0,
|
|
6972
|
+
declarations: EMPTY_ARRAY2,
|
|
6973
|
+
deferBlocks: this.locateDeferBlocksWithoutScope(analysis.template),
|
|
6974
|
+
deferBlockDepsEmitMode: 1,
|
|
6975
|
+
deferrableDeclToImportDecl: /* @__PURE__ */ new Map(),
|
|
6976
|
+
deferrableTypes: /* @__PURE__ */ new Map()
|
|
6977
|
+
}
|
|
6978
|
+
};
|
|
6979
|
+
}
|
|
6901
6980
|
if (this.semanticDepGraphUpdater !== null && analysis.baseClass instanceof Reference) {
|
|
6902
6981
|
symbol.baseClass = this.semanticDepGraphUpdater.getSymbol(analysis.baseClass.node);
|
|
6903
6982
|
}
|
|
6904
6983
|
if (analysis.isPoisoned && !this.usePoisonedData) {
|
|
6905
6984
|
return {};
|
|
6906
6985
|
}
|
|
6907
|
-
const context = getSourceFile(node);
|
|
6908
|
-
const metadata = analysis.meta;
|
|
6909
6986
|
const data = {
|
|
6910
6987
|
declarations: EMPTY_ARRAY2,
|
|
6911
6988
|
declarationListEmitMode: 0,
|
|
6912
6989
|
deferBlocks: /* @__PURE__ */ new Map(),
|
|
6913
|
-
|
|
6990
|
+
deferBlockDepsEmitMode: 0,
|
|
6991
|
+
deferrableDeclToImportDecl: /* @__PURE__ */ new Map(),
|
|
6992
|
+
deferrableTypes: /* @__PURE__ */ new Map()
|
|
6914
6993
|
};
|
|
6915
|
-
const diagnostics = [];
|
|
6916
6994
|
const scope = this.scopeReader.getScopeForComponent(node);
|
|
6917
6995
|
if (scope !== null) {
|
|
6918
|
-
const
|
|
6919
|
-
const
|
|
6920
|
-
const
|
|
6921
|
-
|
|
6922
|
-
|
|
6923
|
-
|
|
6924
|
-
|
|
6925
|
-
pipes.set(dep.name, dep);
|
|
6996
|
+
const isModuleScope = scope.kind === ComponentScopeKind.NgModule;
|
|
6997
|
+
const dependencies = isModuleScope ? scope.compilation.dependencies : scope.dependencies;
|
|
6998
|
+
const explicitlyDeferredDependencies = getExplicitlyDeferredDeps(scope);
|
|
6999
|
+
if (metadata.isStandalone && analysis.rawDeferredImports !== null && explicitlyDeferredDependencies.length > 0) {
|
|
7000
|
+
const diagnostic = validateNoImportOverlap(dependencies, explicitlyDeferredDependencies, analysis.rawDeferredImports);
|
|
7001
|
+
if (diagnostic !== null) {
|
|
7002
|
+
diagnostics.push(diagnostic);
|
|
6926
7003
|
}
|
|
6927
7004
|
}
|
|
6928
|
-
const binder =
|
|
7005
|
+
const binder = createTargetBinder(dependencies);
|
|
7006
|
+
const pipes = extractPipes(dependencies);
|
|
7007
|
+
let allDependencies = dependencies;
|
|
7008
|
+
let deferBlockBinder = binder;
|
|
7009
|
+
if (explicitlyDeferredDependencies.length > 0) {
|
|
7010
|
+
allDependencies = [...explicitlyDeferredDependencies, ...dependencies];
|
|
7011
|
+
deferBlockBinder = createTargetBinder(allDependencies);
|
|
7012
|
+
}
|
|
6929
7013
|
const bound = binder.bind({ template: metadata.template.nodes });
|
|
6930
7014
|
const deferBlocks = /* @__PURE__ */ new Map();
|
|
6931
7015
|
for (const deferBlock of bound.getDeferBlocks()) {
|
|
6932
|
-
deferBlocks.set(deferBlock,
|
|
7016
|
+
deferBlocks.set(deferBlock, deferBlockBinder.bind({ template: deferBlock.children }));
|
|
6933
7017
|
}
|
|
6934
7018
|
const eagerlyUsed = /* @__PURE__ */ new Set();
|
|
6935
7019
|
for (const dir of bound.getEagerlyUsedDirectives()) {
|
|
@@ -6954,7 +7038,7 @@ var ComponentDecoratorHandler = class {
|
|
|
6954
7038
|
}
|
|
6955
7039
|
}
|
|
6956
7040
|
const declarations = /* @__PURE__ */ new Map();
|
|
6957
|
-
for (const dep of
|
|
7041
|
+
for (const dep of allDependencies) {
|
|
6958
7042
|
if (declarations.has(dep.ref.node)) {
|
|
6959
7043
|
continue;
|
|
6960
7044
|
}
|
|
@@ -7008,7 +7092,7 @@ var ComponentDecoratorHandler = class {
|
|
|
7008
7092
|
symbol.usedPipes = Array.from(declarations.values()).filter(isUsedPipe).map(getSemanticReference);
|
|
7009
7093
|
}
|
|
7010
7094
|
const eagerDeclarations = Array.from(declarations.values()).filter((decl) => decl.kind === R3TemplateDependencyKind.NgModule || eagerlyUsed.has(decl.ref.node));
|
|
7011
|
-
this.resolveDeferBlocks(deferBlocks, declarations, data, analysis, eagerlyUsed, bound);
|
|
7095
|
+
this.resolveDeferBlocks(node, deferBlocks, declarations, data, analysis, eagerlyUsed, bound);
|
|
7012
7096
|
const cyclesFromDirectives = /* @__PURE__ */ new Map();
|
|
7013
7097
|
const cyclesFromPipes = /* @__PURE__ */ new Map();
|
|
7014
7098
|
if (!metadata.isStandalone) {
|
|
@@ -7059,19 +7143,15 @@ var ComponentDecoratorHandler = class {
|
|
|
7059
7143
|
}
|
|
7060
7144
|
}
|
|
7061
7145
|
} else {
|
|
7062
|
-
|
|
7063
|
-
const bound = directivelessBinder.bind({ template: metadata.template.nodes });
|
|
7064
|
-
const deferredBlocks = bound.getDeferBlocks();
|
|
7065
|
-
const triggerElements = /* @__PURE__ */ new Map();
|
|
7066
|
-
for (const block of deferredBlocks) {
|
|
7067
|
-
this.resolveDeferTriggers(block, block.triggers, bound, triggerElements);
|
|
7068
|
-
this.resolveDeferTriggers(block, block.prefetchTriggers, bound, triggerElements);
|
|
7069
|
-
data.deferBlocks.set(block, { deps: [], triggerElements });
|
|
7070
|
-
}
|
|
7146
|
+
data.deferBlocks = this.locateDeferBlocksWithoutScope(metadata.template);
|
|
7071
7147
|
}
|
|
7072
7148
|
if (analysis.resolvedImports !== null && analysis.rawImports !== null) {
|
|
7073
|
-
const
|
|
7074
|
-
diagnostics.push(...
|
|
7149
|
+
const importDiagnostics = validateStandaloneImports(analysis.resolvedImports, analysis.rawImports, this.metaReader, this.scopeReader, false);
|
|
7150
|
+
diagnostics.push(...importDiagnostics);
|
|
7151
|
+
}
|
|
7152
|
+
if (analysis.resolvedDeferredImports !== null && analysis.rawDeferredImports !== null) {
|
|
7153
|
+
const importDiagnostics = validateStandaloneImports(analysis.resolvedDeferredImports, analysis.rawDeferredImports, this.metaReader, this.scopeReader, true);
|
|
7154
|
+
diagnostics.push(...importDiagnostics);
|
|
7075
7155
|
}
|
|
7076
7156
|
if (analysis.providersRequiringFactory !== null && analysis.meta.providers instanceof WrappedNodeExpr8) {
|
|
7077
7157
|
const providerDiagnostics = getProviderDiagnostics(analysis.providersRequiringFactory, analysis.meta.providers.node, this.injectableRegistry);
|
|
@@ -7085,9 +7165,9 @@ var ComponentDecoratorHandler = class {
|
|
|
7085
7165
|
if (directiveDiagnostics !== null) {
|
|
7086
7166
|
diagnostics.push(...directiveDiagnostics);
|
|
7087
7167
|
}
|
|
7088
|
-
const
|
|
7089
|
-
if (
|
|
7090
|
-
diagnostics.push(...
|
|
7168
|
+
const hostDirectivesDiagnostics = analysis.hostDirectives && analysis.rawHostDirectives ? validateHostDirectives(analysis.rawHostDirectives, analysis.hostDirectives, this.metaReader) : null;
|
|
7169
|
+
if (hostDirectivesDiagnostics !== null) {
|
|
7170
|
+
diagnostics.push(...hostDirectivesDiagnostics);
|
|
7091
7171
|
}
|
|
7092
7172
|
if (diagnostics.length > 0) {
|
|
7093
7173
|
return { diagnostics };
|
|
@@ -7126,30 +7206,17 @@ var ComponentDecoratorHandler = class {
|
|
|
7126
7206
|
analysis.meta.styles = styles.filter((s) => s.trim().length > 0);
|
|
7127
7207
|
}
|
|
7128
7208
|
compileFull(node, analysis, resolution, pool) {
|
|
7129
|
-
var _a;
|
|
7130
7209
|
if (analysis.template.errors !== null && analysis.template.errors.length > 0) {
|
|
7131
7210
|
return [];
|
|
7132
7211
|
}
|
|
7133
|
-
const deferrableTypes =
|
|
7134
|
-
|
|
7135
|
-
|
|
7136
|
-
|
|
7137
|
-
|
|
7138
|
-
|
|
7139
|
-
if (importDecl && this.deferredSymbolTracker.canDefer(importDecl)) {
|
|
7140
|
-
deferBlockDep.isDeferrable = true;
|
|
7141
|
-
deferBlockDep.importPath = importDecl.moduleSpecifier.text;
|
|
7142
|
-
deferrableTypes.set(deferBlockDep.symbolName, deferBlockDep.importPath);
|
|
7143
|
-
}
|
|
7144
|
-
}
|
|
7145
|
-
}
|
|
7146
|
-
const meta = { ...analysis.meta, ...resolution };
|
|
7212
|
+
const deferrableTypes = this.collectDeferredSymbols(resolution);
|
|
7213
|
+
const meta = {
|
|
7214
|
+
...analysis.meta,
|
|
7215
|
+
...resolution,
|
|
7216
|
+
deferrableTypes
|
|
7217
|
+
};
|
|
7147
7218
|
const fac = compileNgFactoryDefField(toFactoryMetadata(meta, FactoryTarget3.Component));
|
|
7148
|
-
|
|
7149
|
-
const deferrableSymbols = new Set(deferrableTypes.keys());
|
|
7150
|
-
const rewrittenDecoratorsNode = removeIdentifierReferences(analysis.classMetadata.decorators.node, deferrableSymbols);
|
|
7151
|
-
analysis.classMetadata.decorators = new WrappedNodeExpr8(rewrittenDecoratorsNode);
|
|
7152
|
-
}
|
|
7219
|
+
removeDeferrableTypesFromComponentDecorator(analysis, deferrableTypes);
|
|
7153
7220
|
const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
|
|
7154
7221
|
const inputTransformFields = compileInputTransformFields(analysis.inputs);
|
|
7155
7222
|
const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, deferrableTypes).toStmt() : null;
|
|
@@ -7174,23 +7241,73 @@ var ComponentDecoratorHandler = class {
|
|
|
7174
7241
|
const classMetadata = analysis.classMetadata !== null ? compileDeclareClassMetadata3(analysis.classMetadata).toStmt() : null;
|
|
7175
7242
|
return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, null);
|
|
7176
7243
|
}
|
|
7177
|
-
compileLocal(node, analysis, pool) {
|
|
7244
|
+
compileLocal(node, analysis, resolution, pool) {
|
|
7178
7245
|
if (analysis.template.errors !== null && analysis.template.errors.length > 0) {
|
|
7179
7246
|
return [];
|
|
7180
7247
|
}
|
|
7248
|
+
const deferrableTypes = analysis.explicitlyDeferredTypes;
|
|
7181
7249
|
const meta = {
|
|
7182
7250
|
...analysis.meta,
|
|
7183
|
-
|
|
7184
|
-
|
|
7185
|
-
deferBlocks: /* @__PURE__ */ new Map(),
|
|
7186
|
-
deferrableDeclToImportDecl: /* @__PURE__ */ new Map()
|
|
7251
|
+
...resolution,
|
|
7252
|
+
deferrableTypes: deferrableTypes != null ? deferrableTypes : /* @__PURE__ */ new Map()
|
|
7187
7253
|
};
|
|
7254
|
+
if (analysis.explicitlyDeferredTypes !== null) {
|
|
7255
|
+
removeDeferrableTypesFromComponentDecorator(analysis, analysis.explicitlyDeferredTypes);
|
|
7256
|
+
}
|
|
7188
7257
|
const fac = compileNgFactoryDefField(toFactoryMetadata(meta, FactoryTarget3.Component));
|
|
7189
7258
|
const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
|
|
7190
7259
|
const inputTransformFields = compileInputTransformFields(analysis.inputs);
|
|
7191
|
-
const classMetadata = analysis.classMetadata !== null ?
|
|
7260
|
+
const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, deferrableTypes).toStmt() : null;
|
|
7192
7261
|
const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
|
|
7193
|
-
|
|
7262
|
+
const deferrableImports = this.deferredSymbolTracker.getDeferrableImportDecls();
|
|
7263
|
+
return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports, debugInfo);
|
|
7264
|
+
}
|
|
7265
|
+
locateDeferBlocksWithoutScope(template) {
|
|
7266
|
+
const deferBlocks = /* @__PURE__ */ new Map();
|
|
7267
|
+
const directivelessBinder = new R3TargetBinder(new SelectorMatcher2());
|
|
7268
|
+
const bound = directivelessBinder.bind({ template: template.nodes });
|
|
7269
|
+
const deferredBlocks = bound.getDeferBlocks();
|
|
7270
|
+
const triggerElements = /* @__PURE__ */ new Map();
|
|
7271
|
+
for (const block of deferredBlocks) {
|
|
7272
|
+
this.resolveDeferTriggers(block, block.triggers, bound, triggerElements);
|
|
7273
|
+
this.resolveDeferTriggers(block, block.prefetchTriggers, bound, triggerElements);
|
|
7274
|
+
deferBlocks.set(block, { deps: [], triggerElements });
|
|
7275
|
+
}
|
|
7276
|
+
return deferBlocks;
|
|
7277
|
+
}
|
|
7278
|
+
collectDeferredSymbols(resolution) {
|
|
7279
|
+
var _a;
|
|
7280
|
+
const deferrableTypes = /* @__PURE__ */ new Map();
|
|
7281
|
+
for (const [_, metadata] of resolution.deferBlocks) {
|
|
7282
|
+
for (const deferBlockDep of metadata.deps) {
|
|
7283
|
+
const dep = deferBlockDep;
|
|
7284
|
+
const classDecl = dep.classDeclaration;
|
|
7285
|
+
const importDecl = (_a = resolution.deferrableDeclToImportDecl.get(classDecl)) != null ? _a : null;
|
|
7286
|
+
if (importDecl !== null && this.deferredSymbolTracker.canDefer(importDecl)) {
|
|
7287
|
+
deferBlockDep.isDeferrable = true;
|
|
7288
|
+
deferBlockDep.importPath = importDecl.moduleSpecifier.text;
|
|
7289
|
+
deferrableTypes.set(deferBlockDep.symbolName, deferBlockDep.importPath);
|
|
7290
|
+
}
|
|
7291
|
+
}
|
|
7292
|
+
}
|
|
7293
|
+
return deferrableTypes;
|
|
7294
|
+
}
|
|
7295
|
+
collectExplicitlyDeferredSymbols(rawDeferredImports) {
|
|
7296
|
+
const deferredTypes = /* @__PURE__ */ new Map();
|
|
7297
|
+
if (!ts25.isArrayLiteralExpression(rawDeferredImports)) {
|
|
7298
|
+
return deferredTypes;
|
|
7299
|
+
}
|
|
7300
|
+
for (const element of rawDeferredImports.elements) {
|
|
7301
|
+
const node = tryUnwrapForwardRef(element, this.reflector) || element;
|
|
7302
|
+
if (!ts25.isIdentifier(node)) {
|
|
7303
|
+
continue;
|
|
7304
|
+
}
|
|
7305
|
+
const imp = this.reflector.getImportOfIdentifier(node);
|
|
7306
|
+
if (imp !== null) {
|
|
7307
|
+
deferredTypes.set(node, imp);
|
|
7308
|
+
}
|
|
7309
|
+
}
|
|
7310
|
+
return deferredTypes;
|
|
7194
7311
|
}
|
|
7195
7312
|
_checkForCyclicImport(importedFile, expr, origin) {
|
|
7196
7313
|
const imported = resolveImportedFile(this.moduleResolver, importedFile, expr, origin);
|
|
@@ -7206,7 +7323,7 @@ var ComponentDecoratorHandler = class {
|
|
|
7206
7323
|
}
|
|
7207
7324
|
this.cycleAnalyzer.recordSyntheticImport(origin, imported);
|
|
7208
7325
|
}
|
|
7209
|
-
resolveDeferBlocks(deferBlocks, deferrableDecls, resolutionData, analysisData, eagerlyUsedDecls, componentBoundTarget) {
|
|
7326
|
+
resolveDeferBlocks(componentClassDecl, deferBlocks, deferrableDecls, resolutionData, analysisData, eagerlyUsedDecls, componentBoundTarget) {
|
|
7210
7327
|
const allDeferredDecls = /* @__PURE__ */ new Set();
|
|
7211
7328
|
for (const [deferBlock, bound] of deferBlocks) {
|
|
7212
7329
|
const usedDirectives = new Set(bound.getEagerlyUsedDirectives().map((d) => d.ref.node));
|
|
@@ -7236,43 +7353,54 @@ var ComponentDecoratorHandler = class {
|
|
|
7236
7353
|
this.resolveDeferTriggers(deferBlock, deferBlock.prefetchTriggers, componentBoundTarget, triggerElements);
|
|
7237
7354
|
resolutionData.deferBlocks.set(deferBlock, { deps, triggerElements });
|
|
7238
7355
|
}
|
|
7239
|
-
if (analysisData.meta.isStandalone
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7250
|
-
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
|
|
7259
|
-
|
|
7260
|
-
|
|
7261
|
-
|
|
7262
|
-
|
|
7263
|
-
|
|
7264
|
-
|
|
7265
|
-
|
|
7266
|
-
|
|
7267
|
-
|
|
7268
|
-
|
|
7269
|
-
|
|
7270
|
-
|
|
7271
|
-
|
|
7272
|
-
|
|
7273
|
-
|
|
7274
|
-
|
|
7356
|
+
if (analysisData.meta.isStandalone) {
|
|
7357
|
+
if (analysisData.rawImports !== null) {
|
|
7358
|
+
this.registerDeferrableCandidates(componentClassDecl, analysisData.rawImports, false, allDeferredDecls, eagerlyUsedDecls, resolutionData);
|
|
7359
|
+
}
|
|
7360
|
+
if (analysisData.rawDeferredImports !== null) {
|
|
7361
|
+
this.registerDeferrableCandidates(componentClassDecl, analysisData.rawDeferredImports, true, allDeferredDecls, eagerlyUsedDecls, resolutionData);
|
|
7362
|
+
}
|
|
7363
|
+
}
|
|
7364
|
+
}
|
|
7365
|
+
registerDeferrableCandidates(componentClassDecl, importsExpr, isDeferredImport, allDeferredDecls, eagerlyUsedDecls, resolutionData) {
|
|
7366
|
+
if (!ts25.isArrayLiteralExpression(importsExpr)) {
|
|
7367
|
+
return;
|
|
7368
|
+
}
|
|
7369
|
+
for (const element of importsExpr.elements) {
|
|
7370
|
+
const node = tryUnwrapForwardRef(element, this.reflector) || element;
|
|
7371
|
+
if (!ts25.isIdentifier(node)) {
|
|
7372
|
+
continue;
|
|
7373
|
+
}
|
|
7374
|
+
const imp = this.reflector.getImportOfIdentifier(node);
|
|
7375
|
+
if (imp === null) {
|
|
7376
|
+
continue;
|
|
7377
|
+
}
|
|
7378
|
+
const decl = this.reflector.getDeclarationOfIdentifier(node);
|
|
7379
|
+
if (decl === null) {
|
|
7380
|
+
continue;
|
|
7381
|
+
}
|
|
7382
|
+
if (!isNamedClassDeclaration(decl.node)) {
|
|
7383
|
+
continue;
|
|
7384
|
+
}
|
|
7385
|
+
if (!allDeferredDecls.has(decl.node)) {
|
|
7386
|
+
continue;
|
|
7387
|
+
}
|
|
7388
|
+
if (eagerlyUsedDecls.has(decl.node)) {
|
|
7389
|
+
continue;
|
|
7390
|
+
}
|
|
7391
|
+
const dirMeta = this.metaReader.getDirectiveMetadata(new Reference(decl.node));
|
|
7392
|
+
if (dirMeta !== null && !dirMeta.isStandalone) {
|
|
7393
|
+
continue;
|
|
7275
7394
|
}
|
|
7395
|
+
const pipeMeta = this.metaReader.getPipeMetadata(new Reference(decl.node));
|
|
7396
|
+
if (pipeMeta !== null && !pipeMeta.isStandalone) {
|
|
7397
|
+
continue;
|
|
7398
|
+
}
|
|
7399
|
+
if (dirMeta === null && pipeMeta === null) {
|
|
7400
|
+
continue;
|
|
7401
|
+
}
|
|
7402
|
+
resolutionData.deferrableDeclToImportDecl.set(decl.node, imp.node);
|
|
7403
|
+
this.deferredSymbolTracker.markAsDeferrableCandidate(node, imp.node, componentClassDecl, isDeferredImport);
|
|
7276
7404
|
}
|
|
7277
7405
|
}
|
|
7278
7406
|
resolveDeferTriggers(block, triggers, componentBoundTarget, triggerElements) {
|
|
@@ -7282,7 +7410,50 @@ var ComponentDecoratorHandler = class {
|
|
|
7282
7410
|
});
|
|
7283
7411
|
}
|
|
7284
7412
|
};
|
|
7285
|
-
function
|
|
7413
|
+
function createTargetBinder(dependencies) {
|
|
7414
|
+
const matcher = new SelectorMatcher2();
|
|
7415
|
+
for (const dep of dependencies) {
|
|
7416
|
+
if (dep.kind === MetaKind.Directive && dep.selector !== null) {
|
|
7417
|
+
matcher.addSelectables(CssSelector2.parse(dep.selector), [dep]);
|
|
7418
|
+
}
|
|
7419
|
+
}
|
|
7420
|
+
return new R3TargetBinder(matcher);
|
|
7421
|
+
}
|
|
7422
|
+
function getExplicitlyDeferredDeps(scope) {
|
|
7423
|
+
return scope.kind === ComponentScopeKind.NgModule ? [] : scope.deferredDependencies;
|
|
7424
|
+
}
|
|
7425
|
+
function extractPipes(dependencies) {
|
|
7426
|
+
const pipes = /* @__PURE__ */ new Map();
|
|
7427
|
+
for (const dep of dependencies) {
|
|
7428
|
+
if (dep.kind === MetaKind.Pipe) {
|
|
7429
|
+
pipes.set(dep.name, dep);
|
|
7430
|
+
}
|
|
7431
|
+
}
|
|
7432
|
+
return pipes;
|
|
7433
|
+
}
|
|
7434
|
+
function removeDeferrableTypesFromComponentDecorator(analysis, deferrableTypes) {
|
|
7435
|
+
if (analysis.classMetadata) {
|
|
7436
|
+
const deferrableSymbols = new Set(deferrableTypes.keys());
|
|
7437
|
+
const rewrittenDecoratorsNode = removeIdentifierReferences(analysis.classMetadata.decorators.node, deferrableSymbols);
|
|
7438
|
+
analysis.classMetadata.decorators = new WrappedNodeExpr8(rewrittenDecoratorsNode);
|
|
7439
|
+
}
|
|
7440
|
+
}
|
|
7441
|
+
function validateNoImportOverlap(eagerDeps, deferredDeps, rawDeferredImports) {
|
|
7442
|
+
let diagnostic = null;
|
|
7443
|
+
const eagerDepsSet = /* @__PURE__ */ new Set();
|
|
7444
|
+
for (const eagerDep of eagerDeps) {
|
|
7445
|
+
eagerDepsSet.add(eagerDep.ref.node);
|
|
7446
|
+
}
|
|
7447
|
+
for (const deferredDep of deferredDeps) {
|
|
7448
|
+
if (eagerDepsSet.has(deferredDep.ref.node)) {
|
|
7449
|
+
const classInfo = deferredDep.ref.debugName ? `The \`${deferredDep.ref.debugName}\`` : "One of the dependencies";
|
|
7450
|
+
diagnostic = makeDiagnostic(ErrorCode.DEFERRED_DEPENDENCY_IMPORTED_EAGERLY, getDiagnosticNode(deferredDep.ref, rawDeferredImports), `\`${classInfo}\` is imported via both \`@Component.imports\` and \`@Component.deferredImports\`. To fix this, make sure that dependencies are imported only once.`);
|
|
7451
|
+
break;
|
|
7452
|
+
}
|
|
7453
|
+
}
|
|
7454
|
+
return diagnostic;
|
|
7455
|
+
}
|
|
7456
|
+
function validateStandaloneImports(importRefs, importExpr, metaReader, scopeReader, isDeferredImport) {
|
|
7286
7457
|
const diagnostics = [];
|
|
7287
7458
|
for (const ref of importRefs) {
|
|
7288
7459
|
const dirMeta = metaReader.getDirectiveMetadata(ref);
|
|
@@ -7300,16 +7471,17 @@ function validateStandaloneImports(importRefs, importExpr, metaReader, scopeRead
|
|
|
7300
7471
|
continue;
|
|
7301
7472
|
}
|
|
7302
7473
|
const ngModuleMeta = metaReader.getNgModuleMetadata(ref);
|
|
7303
|
-
if (ngModuleMeta !== null) {
|
|
7474
|
+
if (!isDeferredImport && ngModuleMeta !== null) {
|
|
7304
7475
|
continue;
|
|
7305
7476
|
}
|
|
7306
|
-
|
|
7477
|
+
const error = isDeferredImport ? makeUnknownComponentDeferredImportDiagnostic(ref, importExpr) : makeUnknownComponentImportDiagnostic(ref, importExpr);
|
|
7478
|
+
diagnostics.push(error);
|
|
7307
7479
|
}
|
|
7308
7480
|
return diagnostics;
|
|
7309
7481
|
}
|
|
7310
7482
|
|
|
7311
|
-
// bazel-out/
|
|
7312
|
-
import { compileClassMetadata as
|
|
7483
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
|
|
7484
|
+
import { compileClassMetadata as compileClassMetadata3, compileDeclareClassMetadata as compileDeclareClassMetadata4, compileDeclareInjectableFromMetadata, compileInjectable, createMayBeForwardRefExpression as createMayBeForwardRefExpression2, FactoryTarget as FactoryTarget4, LiteralExpr as LiteralExpr3, WrappedNodeExpr as WrappedNodeExpr9 } from "@angular/compiler";
|
|
7313
7485
|
import ts26 from "typescript";
|
|
7314
7486
|
var InjectableDecoratorHandler = class {
|
|
7315
7487
|
constructor(reflector, evaluator, isCore, strictCtorDeps, injectableRegistry, perf, includeClassMetadata, compilationMode, errorOnDuplicateProv = true) {
|
|
@@ -7357,11 +7529,17 @@ var InjectableDecoratorHandler = class {
|
|
|
7357
7529
|
return null;
|
|
7358
7530
|
}
|
|
7359
7531
|
register(node, analysis) {
|
|
7532
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
7533
|
+
return;
|
|
7534
|
+
}
|
|
7360
7535
|
this.injectableRegistry.registerInjectable(node, {
|
|
7361
7536
|
ctorDeps: analysis.ctorDeps
|
|
7362
7537
|
});
|
|
7363
7538
|
}
|
|
7364
|
-
resolve(node, analysis
|
|
7539
|
+
resolve(node, analysis) {
|
|
7540
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
7541
|
+
return {};
|
|
7542
|
+
}
|
|
7365
7543
|
if (requiresValidCtor(analysis.meta)) {
|
|
7366
7544
|
const diagnostic = checkInheritanceOfInjectable(node, this.injectableRegistry, this.reflector, this.evaluator, this.strictCtorDeps, "Injectable");
|
|
7367
7545
|
if (diagnostic !== null) {
|
|
@@ -7373,13 +7551,13 @@ var InjectableDecoratorHandler = class {
|
|
|
7373
7551
|
return {};
|
|
7374
7552
|
}
|
|
7375
7553
|
compileFull(node, analysis) {
|
|
7376
|
-
return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false),
|
|
7554
|
+
return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata3, node, analysis);
|
|
7377
7555
|
}
|
|
7378
7556
|
compilePartial(node, analysis) {
|
|
7379
7557
|
return this.compile(compileDeclareFactory, compileDeclareInjectableFromMetadata, compileDeclareClassMetadata4, node, analysis);
|
|
7380
7558
|
}
|
|
7381
7559
|
compileLocal(node, analysis) {
|
|
7382
|
-
return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false),
|
|
7560
|
+
return this.compile(compileNgFactoryDefField, (meta) => compileInjectable(meta, false), compileClassMetadata3, node, analysis);
|
|
7383
7561
|
}
|
|
7384
7562
|
compile(compileFactoryFn, compileInjectableFn, compileClassMetadataFn, node, analysis) {
|
|
7385
7563
|
const results = [];
|
|
@@ -7534,8 +7712,8 @@ function getDep(dep, reflector) {
|
|
|
7534
7712
|
return meta;
|
|
7535
7713
|
}
|
|
7536
7714
|
|
|
7537
|
-
// bazel-out/
|
|
7538
|
-
import { compileClassMetadata as
|
|
7715
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/pipe.mjs
|
|
7716
|
+
import { compileClassMetadata as compileClassMetadata4, compileDeclareClassMetadata as compileDeclareClassMetadata5, compileDeclarePipeFromMetadata, compilePipeFromMetadata, FactoryTarget as FactoryTarget5 } from "@angular/compiler";
|
|
7539
7717
|
import ts27 from "typescript";
|
|
7540
7718
|
var PipeSymbol = class extends SemanticSymbol {
|
|
7541
7719
|
constructor(decl, name) {
|
|
@@ -7644,6 +7822,9 @@ var PipeDecoratorHandler = class {
|
|
|
7644
7822
|
return new PipeSymbol(node, analysis.meta.pipeName);
|
|
7645
7823
|
}
|
|
7646
7824
|
register(node, analysis) {
|
|
7825
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
7826
|
+
return;
|
|
7827
|
+
}
|
|
7647
7828
|
const ref = new Reference(node);
|
|
7648
7829
|
this.metaRegistry.registerPipeMetadata({
|
|
7649
7830
|
kind: MetaKind.Pipe,
|
|
@@ -7651,13 +7832,17 @@ var PipeDecoratorHandler = class {
|
|
|
7651
7832
|
name: analysis.meta.pipeName,
|
|
7652
7833
|
nameExpr: analysis.pipeNameExpr,
|
|
7653
7834
|
isStandalone: analysis.meta.isStandalone,
|
|
7654
|
-
decorator: analysis.decorator
|
|
7835
|
+
decorator: analysis.decorator,
|
|
7836
|
+
isExplicitlyDeferred: false
|
|
7655
7837
|
});
|
|
7656
7838
|
this.injectableRegistry.registerInjectable(node, {
|
|
7657
7839
|
ctorDeps: analysis.meta.deps
|
|
7658
7840
|
});
|
|
7659
7841
|
}
|
|
7660
7842
|
resolve(node) {
|
|
7843
|
+
if (this.compilationMode === CompilationMode.LOCAL) {
|
|
7844
|
+
return {};
|
|
7845
|
+
}
|
|
7661
7846
|
const duplicateDeclData = this.scopeRegistry.getDuplicateDeclarations(node);
|
|
7662
7847
|
if (duplicateDeclData !== null) {
|
|
7663
7848
|
return {
|
|
@@ -7669,7 +7854,7 @@ var PipeDecoratorHandler = class {
|
|
|
7669
7854
|
compileFull(node, analysis) {
|
|
7670
7855
|
const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
|
|
7671
7856
|
const def = compilePipeFromMetadata(analysis.meta);
|
|
7672
|
-
const classMetadata = analysis.classMetadata !== null ?
|
|
7857
|
+
const classMetadata = analysis.classMetadata !== null ? compileClassMetadata4(analysis.classMetadata).toStmt() : null;
|
|
7673
7858
|
return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
|
|
7674
7859
|
}
|
|
7675
7860
|
compilePartial(node, analysis) {
|
|
@@ -7681,7 +7866,7 @@ var PipeDecoratorHandler = class {
|
|
|
7681
7866
|
compileLocal(node, analysis) {
|
|
7682
7867
|
const fac = compileNgFactoryDefField(toFactoryMetadata(analysis.meta, FactoryTarget5.Pipe));
|
|
7683
7868
|
const def = compilePipeFromMetadata(analysis.meta);
|
|
7684
|
-
const classMetadata = analysis.classMetadata !== null ?
|
|
7869
|
+
const classMetadata = analysis.classMetadata !== null ? compileClassMetadata4(analysis.classMetadata).toStmt() : null;
|
|
7685
7870
|
return compileResults(fac, def, classMetadata, "\u0275pipe", null, null);
|
|
7686
7871
|
}
|
|
7687
7872
|
};
|
|
@@ -7736,4 +7921,4 @@ export {
|
|
|
7736
7921
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7737
7922
|
* found in the LICENSE file at https://angular.io/license
|
|
7738
7923
|
*/
|
|
7739
|
-
//# sourceMappingURL=chunk-
|
|
7924
|
+
//# sourceMappingURL=chunk-GM44CTB7.js.map
|