@angular/compiler-cli 20.2.0-next.1 → 20.2.0-next.3
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-F7QVREVY.js → chunk-HMCJWY2O.js} +1 -1
- package/bundles/{chunk-U3R42CLJ.js → chunk-ILJUWTJN.js} +43 -10
- 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.3";
|
|
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,37 @@ 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, ctx));
|
|
3432
|
+
}
|
|
3433
|
+
return [];
|
|
3434
|
+
}
|
|
3435
|
+
};
|
|
3436
|
+
function assertExpressionInvoked2(expression, component, 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 errorString = `Function in text interpolation should be invoked: ${expression.name}()`;
|
|
3444
|
+
const templateMapping = ctx.templateTypeChecker.getSourceMappingAtTcbLocation(symbol.tcbLocation);
|
|
3445
|
+
return [ctx.makeTemplateDiagnostic(templateMapping.span, errorString)];
|
|
3446
|
+
}
|
|
3447
|
+
}
|
|
3448
|
+
return [];
|
|
3449
|
+
}
|
|
3450
|
+
var factory15 = {
|
|
3451
|
+
code: ErrorCode.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION,
|
|
3452
|
+
name: ExtendedTemplateDiagnosticName.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION,
|
|
3453
|
+
create: () => new UninvokedFunctionInTextInterpolation()
|
|
3454
|
+
};
|
|
3455
|
+
|
|
3424
3456
|
// packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.js
|
|
3425
3457
|
import ts21 from "typescript";
|
|
3426
3458
|
|
|
@@ -3439,12 +3471,12 @@ var ExtendedTemplateCheckerImpl = class {
|
|
|
3439
3471
|
constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
|
|
3440
3472
|
this.partialCtx = { templateTypeChecker, typeChecker };
|
|
3441
3473
|
this.templateChecks = /* @__PURE__ */ new Map();
|
|
3442
|
-
for (const
|
|
3443
|
-
const category = diagnosticLabelToCategory(options?.extendedDiagnostics?.checks?.[
|
|
3474
|
+
for (const factory16 of templateCheckFactories) {
|
|
3475
|
+
const category = diagnosticLabelToCategory(options?.extendedDiagnostics?.checks?.[factory16.name] ?? options?.extendedDiagnostics?.defaultCategory ?? DiagnosticCategoryLabel.Warning);
|
|
3444
3476
|
if (category === null) {
|
|
3445
3477
|
continue;
|
|
3446
3478
|
}
|
|
3447
|
-
const check =
|
|
3479
|
+
const check = factory16.create(options);
|
|
3448
3480
|
if (check === null) {
|
|
3449
3481
|
continue;
|
|
3450
3482
|
}
|
|
@@ -3503,16 +3535,17 @@ var ALL_DIAGNOSTIC_FACTORIES = [
|
|
|
3503
3535
|
factory13,
|
|
3504
3536
|
factory8,
|
|
3505
3537
|
factory12,
|
|
3506
|
-
factory14
|
|
3538
|
+
factory14,
|
|
3539
|
+
factory15
|
|
3507
3540
|
];
|
|
3508
3541
|
var SUPPORTED_DIAGNOSTIC_NAMES = /* @__PURE__ */ new Set([
|
|
3509
3542
|
ExtendedTemplateDiagnosticName.CONTROL_FLOW_PREVENTING_CONTENT_PROJECTION,
|
|
3510
3543
|
ExtendedTemplateDiagnosticName.UNUSED_STANDALONE_IMPORTS,
|
|
3511
|
-
...ALL_DIAGNOSTIC_FACTORIES.map((
|
|
3544
|
+
...ALL_DIAGNOSTIC_FACTORIES.map((factory16) => factory16.name)
|
|
3512
3545
|
]);
|
|
3513
3546
|
|
|
3514
3547
|
// 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
|
|
3548
|
+
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
3549
|
import ts22 from "typescript";
|
|
3517
3550
|
var TemplateSemanticsCheckerImpl = class {
|
|
3518
3551
|
templateTypeChecker;
|
|
@@ -3553,7 +3586,7 @@ var ExpressionsSemanticsVisitor = class extends RecursiveAstVisitor {
|
|
|
3553
3586
|
this.diagnostics = diagnostics;
|
|
3554
3587
|
}
|
|
3555
3588
|
visitBinary(ast, context) {
|
|
3556
|
-
if (Binary3.isAssignmentOperation(ast.operation) && ast.left instanceof
|
|
3589
|
+
if (Binary3.isAssignmentOperation(ast.operation) && ast.left instanceof PropertyRead6) {
|
|
3557
3590
|
this.checkForIllegalWriteInEventBinding(ast.left, context);
|
|
3558
3591
|
} else {
|
|
3559
3592
|
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-ILJUWTJN.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.3");
|
|
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-HMCJWY2O.js";
|
|
10
10
|
import {
|
|
11
11
|
EmitFlags
|
|
12
|
-
} from "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
12
|
+
} from "../../chunk-ILJUWTJN.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-HMCJWY2O.js";
|
|
9
|
+
import "../../chunk-ILJUWTJN.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.3";
|
|
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.3",
|
|
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.3",
|
|
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.
|