@angular/compiler-cli 20.2.0-next.1 → 20.2.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/{chunk-PLUBZWSY.js → chunk-56QTHZ7G.js} +1 -1
- package/bundles/{chunk-TMIC4MKN.js → chunk-5LTXARS2.js} +14 -12
- package/bundles/chunk-BPDNYZBC.js +1 -1
- package/bundles/{chunk-U3R42CLJ.js → chunk-MQ6W6B7H.js} +47 -10
- package/bundles/{chunk-F7QVREVY.js → chunk-UVWZGTBX.js} +1 -1
- package/bundles/index.js +4 -4
- package/bundles/private/migrations.js +1 -1
- package/bundles/private/tooling.js +2 -2
- package/bundles/src/bin/ng_xi18n.js +4 -4
- package/bundles/src/bin/ngc.js +4 -4
- package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
- package/package.json +2 -2
- package/src/ngtsc/annotations/component/src/animations.d.ts +15 -0
- package/src/ngtsc/diagnostics/src/error_code.d.ts +14 -0
- package/src/ngtsc/diagnostics/src/extended_template_diagnostic_name.d.ts +2 -1
- package/src/ngtsc/typecheck/extended/checks/uninvoked_function_in_text_interpolation/index.d.ts +10 -0
- package/src/ngtsc/typecheck/src/dom.d.ts +2 -1
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
tryParseSignalInputMapping,
|
|
17
17
|
tryParseSignalModelMapping,
|
|
18
18
|
tryParseSignalQueryFromInitializer
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5LTXARS2.js";
|
|
20
20
|
|
|
21
21
|
// packages/compiler-cli/src/ngtsc/transform/jit/src/downlevel_decorators_transform.js
|
|
22
22
|
import ts from "typescript";
|
|
@@ -117,6 +117,7 @@ var ErrorCode;
|
|
|
117
117
|
ErrorCode2[ErrorCode2["UNPARENTHESIZED_NULLISH_COALESCING"] = 8114] = "UNPARENTHESIZED_NULLISH_COALESCING";
|
|
118
118
|
ErrorCode2[ErrorCode2["UNINVOKED_TRACK_FUNCTION"] = 8115] = "UNINVOKED_TRACK_FUNCTION";
|
|
119
119
|
ErrorCode2[ErrorCode2["MISSING_STRUCTURAL_DIRECTIVE"] = 8116] = "MISSING_STRUCTURAL_DIRECTIVE";
|
|
120
|
+
ErrorCode2[ErrorCode2["UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION"] = 8117] = "UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION";
|
|
120
121
|
ErrorCode2[ErrorCode2["INLINE_TCB_REQUIRED"] = 8900] = "INLINE_TCB_REQUIRED";
|
|
121
122
|
ErrorCode2[ErrorCode2["INLINE_TYPE_CTOR_REQUIRED"] = 8901] = "INLINE_TYPE_CTOR_REQUIRED";
|
|
122
123
|
ErrorCode2[ErrorCode2["INJECTABLE_DUPLICATE_PROV"] = 9001] = "INJECTABLE_DUPLICATE_PROV";
|
|
@@ -241,6 +242,7 @@ var ExtendedTemplateDiagnosticName;
|
|
|
241
242
|
ExtendedTemplateDiagnosticName2["UNINVOKED_TRACK_FUNCTION"] = "uninvokedTrackFunction";
|
|
242
243
|
ExtendedTemplateDiagnosticName2["UNUSED_STANDALONE_IMPORTS"] = "unusedStandaloneImports";
|
|
243
244
|
ExtendedTemplateDiagnosticName2["UNPARENTHESIZED_NULLISH_COALESCING"] = "unparenthesizedNullishCoalescing";
|
|
245
|
+
ExtendedTemplateDiagnosticName2["UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION"] = "uninvokedFunctionInTextInterpolation";
|
|
244
246
|
})(ExtendedTemplateDiagnosticName || (ExtendedTemplateDiagnosticName = {}));
|
|
245
247
|
|
|
246
248
|
// packages/compiler-cli/src/ngtsc/reflection/src/typescript.js
|
|
@@ -12317,7 +12319,8 @@ function inferBoundAttribute(name) {
|
|
|
12317
12319
|
const attrPrefix = "attr.";
|
|
12318
12320
|
const classPrefix = "class.";
|
|
12319
12321
|
const stylePrefix = "style.";
|
|
12320
|
-
const animationPrefix = "
|
|
12322
|
+
const animationPrefix = "animate.";
|
|
12323
|
+
const legacyAnimationPrefix = "@";
|
|
12321
12324
|
let attrName;
|
|
12322
12325
|
let type;
|
|
12323
12326
|
if (name.startsWith(attrPrefix)) {
|
|
@@ -12330,7 +12333,10 @@ function inferBoundAttribute(name) {
|
|
|
12330
12333
|
attrName = name.slice(stylePrefix.length);
|
|
12331
12334
|
type = BindingType.Style;
|
|
12332
12335
|
} else if (name.startsWith(animationPrefix)) {
|
|
12333
|
-
attrName = name
|
|
12336
|
+
attrName = name;
|
|
12337
|
+
type = BindingType.Animation;
|
|
12338
|
+
} else if (name.startsWith(legacyAnimationPrefix)) {
|
|
12339
|
+
attrName = name.slice(legacyAnimationPrefix.length);
|
|
12334
12340
|
type = BindingType.LegacyAnimation;
|
|
12335
12341
|
} else {
|
|
12336
12342
|
attrName = name;
|
|
@@ -14072,7 +14078,7 @@ var TcbDomSchemaCheckerOp = class extends TcbOp {
|
|
|
14072
14078
|
continue;
|
|
14073
14079
|
}
|
|
14074
14080
|
if (isPropertyBinding && binding.name !== "style" && binding.name !== "class") {
|
|
14075
|
-
const propertyName =
|
|
14081
|
+
const propertyName = REGISTRY.getMappedPropName(binding.name);
|
|
14076
14082
|
if (isTemplateElement) {
|
|
14077
14083
|
this.tcb.domSchemaChecker.checkTemplateElementProperty(this.tcb.id, this.getTagName(element), propertyName, binding.sourceSpan, this.tcb.schemas, this.tcb.hostIsStandalone);
|
|
14078
14084
|
} else {
|
|
@@ -14202,14 +14208,6 @@ var TcbComponentNodeOp = class extends TcbOp {
|
|
|
14202
14208
|
return id;
|
|
14203
14209
|
}
|
|
14204
14210
|
};
|
|
14205
|
-
var ATTR_TO_PROP = new Map(Object.entries({
|
|
14206
|
-
"class": "className",
|
|
14207
|
-
"for": "htmlFor",
|
|
14208
|
-
"formaction": "formAction",
|
|
14209
|
-
"innerHtml": "innerHTML",
|
|
14210
|
-
"readonly": "readOnly",
|
|
14211
|
-
"tabindex": "tabIndex"
|
|
14212
|
-
}));
|
|
14213
14211
|
var TcbUnclaimedInputsOp = class extends TcbOp {
|
|
14214
14212
|
tcb;
|
|
14215
14213
|
scope;
|
|
@@ -14240,7 +14238,7 @@ var TcbUnclaimedInputsOp = class extends TcbOp {
|
|
|
14240
14238
|
if (elId === null) {
|
|
14241
14239
|
elId = this.scope.resolve(this.target);
|
|
14242
14240
|
}
|
|
14243
|
-
const propertyName =
|
|
14241
|
+
const propertyName = REGISTRY.getMappedPropName(binding.name);
|
|
14244
14242
|
const prop = ts60.factory.createElementAccessExpression(elId, ts60.factory.createStringLiteral(propertyName));
|
|
14245
14243
|
const stmt = ts60.factory.createBinaryExpression(prop, ts60.SyntaxKind.EqualsToken, wrapForDiagnostics(expr));
|
|
14246
14244
|
addParseSpanInfo(stmt, binding.sourceSpan);
|
|
@@ -14356,6 +14354,10 @@ var TcbUnclaimedOutputsOp = class extends TcbOp {
|
|
|
14356
14354
|
const eventType = this.tcb.env.config.checkTypeOfAnimationEvents ? this.tcb.env.referenceExternalType("@angular/animations", "AnimationEvent") : 1;
|
|
14357
14355
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, eventType);
|
|
14358
14356
|
this.scope.addStatement(ts60.factory.createExpressionStatement(handler));
|
|
14357
|
+
} else if (output.type === ParsedEventType2.Animation) {
|
|
14358
|
+
const eventType = this.tcb.env.referenceExternalType("@angular/core", "AnimationCallbackEvent");
|
|
14359
|
+
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, eventType);
|
|
14360
|
+
this.scope.addStatement(ts60.factory.createExpressionStatement(handler));
|
|
14359
14361
|
} else if (this.tcb.env.config.checkTypeOfDomEvents) {
|
|
14360
14362
|
let target;
|
|
14361
14363
|
let domEventAssertion;
|
|
@@ -455,7 +455,7 @@ import { compileDirectiveFromMetadata, makeBindingParser, ParseLocation, ParseSo
|
|
|
455
455
|
// packages/compiler-cli/linker/src/file_linker/partial_linkers/util.js
|
|
456
456
|
import { createMayBeForwardRefExpression, outputAst as o2 } from "@angular/compiler";
|
|
457
457
|
import semver from "semver";
|
|
458
|
-
var PLACEHOLDER_VERSION = "20.2.0-next.
|
|
458
|
+
var PLACEHOLDER_VERSION = "20.2.0-next.2";
|
|
459
459
|
function wrapReference(wrapped) {
|
|
460
460
|
return { value: wrapped, type: wrapped };
|
|
461
461
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
6
|
angularJitApplicationTransform
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-56QTHZ7G.js";
|
|
8
8
|
import {
|
|
9
9
|
AbsoluteModuleStrategy,
|
|
10
10
|
ActivePerfRecorder,
|
|
@@ -92,7 +92,7 @@ import {
|
|
|
92
92
|
toUnredirectedSourceFile,
|
|
93
93
|
tryParseInitializerApi,
|
|
94
94
|
untagAllTsFiles
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-5LTXARS2.js";
|
|
96
96
|
import {
|
|
97
97
|
LogicalFileSystem,
|
|
98
98
|
absoluteFrom,
|
|
@@ -2906,7 +2906,8 @@ var InterpolatedSignalCheck = class extends TemplateCheckWithVisitor {
|
|
|
2906
2906
|
(node.type === BindingType.Property || // or a class binding like `[class.myClass]="mySignal"`
|
|
2907
2907
|
node.type === BindingType.Class || // or a style binding like `[style.width]="mySignal"`
|
|
2908
2908
|
node.type === BindingType.Style || // or an attribute binding like `[attr.role]="mySignal"`
|
|
2909
|
-
node.type === BindingType.Attribute || // or an animation binding like `[
|
|
2909
|
+
node.type === BindingType.Attribute || // or an animation binding like `[animate.enter]="mySignal"`
|
|
2910
|
+
node.type === BindingType.Animation || // or an animation binding like `[@myAnimation]="mySignal"`
|
|
2910
2911
|
node.type === BindingType.LegacyAnimation) && nodeAst
|
|
2911
2912
|
) {
|
|
2912
2913
|
return buildDiagnosticForSignal(ctx, nodeAst, component);
|
|
@@ -3421,6 +3422,41 @@ var factory14 = {
|
|
|
3421
3422
|
create: () => new UninvokedTrackFunctionCheck()
|
|
3422
3423
|
};
|
|
3423
3424
|
|
|
3425
|
+
// packages/compiler-cli/src/ngtsc/typecheck/extended/checks/uninvoked_function_in_text_interpolation/index.js
|
|
3426
|
+
import { Interpolation as Interpolation2, PropertyRead as PropertyRead5, SafePropertyRead as SafePropertyRead4 } from "@angular/compiler";
|
|
3427
|
+
var UninvokedFunctionInTextInterpolation = class extends TemplateCheckWithVisitor {
|
|
3428
|
+
code = ErrorCode.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION;
|
|
3429
|
+
visitNode(ctx, component, node) {
|
|
3430
|
+
if (node instanceof Interpolation2) {
|
|
3431
|
+
return node.expressions.flatMap((item) => assertExpressionInvoked2(item, component, node.sourceSpan, ctx));
|
|
3432
|
+
}
|
|
3433
|
+
return [];
|
|
3434
|
+
}
|
|
3435
|
+
};
|
|
3436
|
+
function assertExpressionInvoked2(expression, component, sourceSpan, ctx) {
|
|
3437
|
+
if (!(expression instanceof PropertyRead5) && !(expression instanceof SafePropertyRead4)) {
|
|
3438
|
+
return [];
|
|
3439
|
+
}
|
|
3440
|
+
const symbol = ctx.templateTypeChecker.getSymbolOfNode(expression, component);
|
|
3441
|
+
if (symbol !== null && symbol.kind === SymbolKind.Expression) {
|
|
3442
|
+
if (symbol.tsType.getCallSignatures()?.length > 0) {
|
|
3443
|
+
const fullExpressionText = generateStringFromExpression3(expression, sourceSpan.toString());
|
|
3444
|
+
const errorString = `Function in text interpolation should be invoked: ${fullExpressionText}()`;
|
|
3445
|
+
const templateMapping = ctx.templateTypeChecker.getSourceMappingAtTcbLocation(symbol.tcbLocation);
|
|
3446
|
+
return [ctx.makeTemplateDiagnostic(templateMapping.span, errorString)];
|
|
3447
|
+
}
|
|
3448
|
+
}
|
|
3449
|
+
return [];
|
|
3450
|
+
}
|
|
3451
|
+
function generateStringFromExpression3(expression, source) {
|
|
3452
|
+
return source.substring(expression.span.start, expression.span.end);
|
|
3453
|
+
}
|
|
3454
|
+
var factory15 = {
|
|
3455
|
+
code: ErrorCode.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION,
|
|
3456
|
+
name: ExtendedTemplateDiagnosticName.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION,
|
|
3457
|
+
create: () => new UninvokedFunctionInTextInterpolation()
|
|
3458
|
+
};
|
|
3459
|
+
|
|
3424
3460
|
// packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.js
|
|
3425
3461
|
import ts21 from "typescript";
|
|
3426
3462
|
|
|
@@ -3439,12 +3475,12 @@ var ExtendedTemplateCheckerImpl = class {
|
|
|
3439
3475
|
constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
|
|
3440
3476
|
this.partialCtx = { templateTypeChecker, typeChecker };
|
|
3441
3477
|
this.templateChecks = /* @__PURE__ */ new Map();
|
|
3442
|
-
for (const
|
|
3443
|
-
const category = diagnosticLabelToCategory(options?.extendedDiagnostics?.checks?.[
|
|
3478
|
+
for (const factory16 of templateCheckFactories) {
|
|
3479
|
+
const category = diagnosticLabelToCategory(options?.extendedDiagnostics?.checks?.[factory16.name] ?? options?.extendedDiagnostics?.defaultCategory ?? DiagnosticCategoryLabel.Warning);
|
|
3444
3480
|
if (category === null) {
|
|
3445
3481
|
continue;
|
|
3446
3482
|
}
|
|
3447
|
-
const check =
|
|
3483
|
+
const check = factory16.create(options);
|
|
3448
3484
|
if (check === null) {
|
|
3449
3485
|
continue;
|
|
3450
3486
|
}
|
|
@@ -3503,16 +3539,17 @@ var ALL_DIAGNOSTIC_FACTORIES = [
|
|
|
3503
3539
|
factory13,
|
|
3504
3540
|
factory8,
|
|
3505
3541
|
factory12,
|
|
3506
|
-
factory14
|
|
3542
|
+
factory14,
|
|
3543
|
+
factory15
|
|
3507
3544
|
];
|
|
3508
3545
|
var SUPPORTED_DIAGNOSTIC_NAMES = /* @__PURE__ */ new Set([
|
|
3509
3546
|
ExtendedTemplateDiagnosticName.CONTROL_FLOW_PREVENTING_CONTENT_PROJECTION,
|
|
3510
3547
|
ExtendedTemplateDiagnosticName.UNUSED_STANDALONE_IMPORTS,
|
|
3511
|
-
...ALL_DIAGNOSTIC_FACTORIES.map((
|
|
3548
|
+
...ALL_DIAGNOSTIC_FACTORIES.map((factory16) => factory16.name)
|
|
3512
3549
|
]);
|
|
3513
3550
|
|
|
3514
3551
|
// packages/compiler-cli/src/ngtsc/typecheck/template_semantics/src/template_semantics_checker.js
|
|
3515
|
-
import { ASTWithSource as ASTWithSource5, ImplicitReceiver as ImplicitReceiver2, ParsedEventType as ParsedEventType2, PropertyRead as
|
|
3552
|
+
import { ASTWithSource as ASTWithSource5, ImplicitReceiver as ImplicitReceiver2, ParsedEventType as ParsedEventType2, PropertyRead as PropertyRead6, Binary as Binary3, RecursiveAstVisitor, TmplAstBoundEvent as TmplAstBoundEvent3, TmplAstLetDeclaration as TmplAstLetDeclaration2, TmplAstRecursiveVisitor, TmplAstVariable as TmplAstVariable2 } from "@angular/compiler";
|
|
3516
3553
|
import ts22 from "typescript";
|
|
3517
3554
|
var TemplateSemanticsCheckerImpl = class {
|
|
3518
3555
|
templateTypeChecker;
|
|
@@ -3553,7 +3590,7 @@ var ExpressionsSemanticsVisitor = class extends RecursiveAstVisitor {
|
|
|
3553
3590
|
this.diagnostics = diagnostics;
|
|
3554
3591
|
}
|
|
3555
3592
|
visitBinary(ast, context) {
|
|
3556
|
-
if (Binary3.isAssignmentOperation(ast.operation) && ast.left instanceof
|
|
3593
|
+
if (Binary3.isAssignmentOperation(ast.operation) && ast.left instanceof PropertyRead6) {
|
|
3557
3594
|
this.checkForIllegalWriteInEventBinding(ast.left, context);
|
|
3558
3595
|
} else {
|
|
3559
3596
|
super.visitBinary(ast, context);
|
package/bundles/index.js
CHANGED
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
isTsDiagnostic,
|
|
29
29
|
performCompilation,
|
|
30
30
|
readConfiguration
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-MQ6W6B7H.js";
|
|
32
32
|
import {
|
|
33
33
|
ConsoleLogger,
|
|
34
34
|
LogLevel
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
angularJitApplicationTransform,
|
|
38
38
|
getDownlevelDecoratorsTransform,
|
|
39
39
|
getInitializerApiJitTransform
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-56QTHZ7G.js";
|
|
41
41
|
import {
|
|
42
42
|
ActivePerfRecorder,
|
|
43
43
|
ErrorCode,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
TsCreateProgramDriver,
|
|
47
47
|
isLocalCompilationDiagnostics,
|
|
48
48
|
ngErrorCode
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-5LTXARS2.js";
|
|
50
50
|
import "./chunk-I2BHWRAU.js";
|
|
51
51
|
import {
|
|
52
52
|
InvalidFileSystem,
|
|
@@ -77,7 +77,7 @@ import "./chunk-DWRM7PIK.js";
|
|
|
77
77
|
|
|
78
78
|
// packages/compiler-cli/src/version.js
|
|
79
79
|
import { Version } from "@angular/compiler";
|
|
80
|
-
var VERSION = new Version("20.2.0-next.
|
|
80
|
+
var VERSION = new Version("20.2.0-next.2");
|
|
81
81
|
|
|
82
82
|
// packages/compiler-cli/private/tooling.js
|
|
83
83
|
var GLOBAL_DEFS_FOR_TERSER = {
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TypeScriptReflectionHost,
|
|
14
14
|
createForwardRefResolver,
|
|
15
15
|
reflectObjectLiteral
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-5LTXARS2.js";
|
|
17
17
|
import "../chunk-I2BHWRAU.js";
|
|
18
18
|
import "../chunk-GWZQLAGK.js";
|
|
19
19
|
import "../chunk-SZY7NM6F.js";
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
6
|
angularJitApplicationTransform
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-56QTHZ7G.js";
|
|
8
|
+
import "../chunk-5LTXARS2.js";
|
|
9
9
|
import "../chunk-I2BHWRAU.js";
|
|
10
10
|
import "../chunk-GWZQLAGK.js";
|
|
11
11
|
import "../chunk-SZY7NM6F.js";
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
import {
|
|
7
7
|
main,
|
|
8
8
|
readCommandLineAndConfiguration
|
|
9
|
-
} from "../../chunk-
|
|
9
|
+
} from "../../chunk-UVWZGTBX.js";
|
|
10
10
|
import {
|
|
11
11
|
EmitFlags
|
|
12
|
-
} from "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
12
|
+
} from "../../chunk-MQ6W6B7H.js";
|
|
13
|
+
import "../../chunk-56QTHZ7G.js";
|
|
14
|
+
import "../../chunk-5LTXARS2.js";
|
|
15
15
|
import "../../chunk-I2BHWRAU.js";
|
|
16
16
|
import {
|
|
17
17
|
setFileSystem
|
package/bundles/src/bin/ngc.js
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
7
|
main
|
|
8
|
-
} from "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
8
|
+
} from "../../chunk-UVWZGTBX.js";
|
|
9
|
+
import "../../chunk-MQ6W6B7H.js";
|
|
10
|
+
import "../../chunk-56QTHZ7G.js";
|
|
11
|
+
import "../../chunk-5LTXARS2.js";
|
|
12
12
|
import "../../chunk-I2BHWRAU.js";
|
|
13
13
|
import {
|
|
14
14
|
setFileSystem
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { MaybeForwardRefExpression, outputAst as o, R3DeclareDependencyMetadata, R3DependencyMetadata, R3Reference } from '@angular/compiler';
|
|
9
9
|
import { AstObject, AstValue } from '../../ast/ast_value';
|
|
10
|
-
export declare const PLACEHOLDER_VERSION = "20.2.0-next.
|
|
10
|
+
export declare const PLACEHOLDER_VERSION = "20.2.0-next.2";
|
|
11
11
|
export declare function wrapReference<TExpression>(wrapped: o.WrappedNodeExpr<TExpression>): R3Reference;
|
|
12
12
|
/**
|
|
13
13
|
* Parses the value of an enum from the AST value's symbol name.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/compiler-cli",
|
|
3
|
-
"version": "20.2.0-next.
|
|
3
|
+
"version": "20.2.0-next.2",
|
|
4
4
|
"description": "Angular - the compiler CLI for Node.js",
|
|
5
5
|
"typings": "index.d.ts",
|
|
6
6
|
"bin": {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"yargs": "^18.0.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"@angular/compiler": "20.2.0-next.
|
|
51
|
+
"@angular/compiler": "20.2.0-next.2",
|
|
52
52
|
"typescript": ">=5.8 <6.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependenciesMeta": {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { TmplAstNode } from '@angular/compiler';
|
|
9
|
+
/**
|
|
10
|
+
* Analyzes a component's template to determine if it's using animate.enter
|
|
11
|
+
* or animate.leave syntax.
|
|
12
|
+
*/
|
|
13
|
+
export declare function analyzeTemplateForAnimations(template: TmplAstNode[]): {
|
|
14
|
+
hasAnimations: boolean;
|
|
15
|
+
};
|
|
@@ -511,6 +511,20 @@ export declare enum ErrorCode {
|
|
|
511
511
|
* A structural directive is used in a template, but the directive is not imported.
|
|
512
512
|
*/
|
|
513
513
|
MISSING_STRUCTURAL_DIRECTIVE = 8116,
|
|
514
|
+
/**
|
|
515
|
+
* A function in a text interpolation is not invoked.
|
|
516
|
+
*
|
|
517
|
+
* For example:
|
|
518
|
+
* ```html
|
|
519
|
+
* <p> {{ firstName }} </p>
|
|
520
|
+
* ```
|
|
521
|
+
*
|
|
522
|
+
* The `firstName` function is not invoked. Instead, it should be:
|
|
523
|
+
* ```html
|
|
524
|
+
* <p> {{ firstName() }} </p>
|
|
525
|
+
* ```
|
|
526
|
+
*/
|
|
527
|
+
UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION = 8117,
|
|
514
528
|
/**
|
|
515
529
|
* The template type-checking engine would need to generate an inline type check block for a
|
|
516
530
|
* component, but the current type-checking environment doesn't support it.
|
|
@@ -30,5 +30,6 @@ export declare enum ExtendedTemplateDiagnosticName {
|
|
|
30
30
|
UNUSED_LET_DECLARATION = "unusedLetDeclaration",
|
|
31
31
|
UNINVOKED_TRACK_FUNCTION = "uninvokedTrackFunction",
|
|
32
32
|
UNUSED_STANDALONE_IMPORTS = "unusedStandaloneImports",
|
|
33
|
-
UNPARENTHESIZED_NULLISH_COALESCING = "unparenthesizedNullishCoalescing"
|
|
33
|
+
UNPARENTHESIZED_NULLISH_COALESCING = "unparenthesizedNullishCoalescing",
|
|
34
|
+
UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION = "uninvokedFunctionInTextInterpolation"
|
|
34
35
|
}
|
package/src/ngtsc/typecheck/extended/checks/uninvoked_function_in_text_interpolation/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { ErrorCode, ExtendedTemplateDiagnosticName } from '../../../../diagnostics';
|
|
9
|
+
import { TemplateCheckFactory } from '../../api';
|
|
10
|
+
export declare const factory: TemplateCheckFactory<ErrorCode.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION, ExtendedTemplateDiagnosticName.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION>;
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import { ParseSourceSpan, SchemaMetadata, TmplAstHostElement } from '@angular/compiler';
|
|
8
|
+
import { DomElementSchemaRegistry, ParseSourceSpan, SchemaMetadata, TmplAstHostElement } from '@angular/compiler';
|
|
9
9
|
import { TemplateDiagnostic, TypeCheckId } from '../api';
|
|
10
10
|
import { TypeCheckSourceResolver } from './tcb_util';
|
|
11
|
+
export declare const REGISTRY: DomElementSchemaRegistry;
|
|
11
12
|
/**
|
|
12
13
|
* Checks every non-Angular element/property processed in a template and potentially produces
|
|
13
14
|
* `ts.Diagnostic`s related to improper usage.
|