@angular/compiler 20.0.0-rc.3 → 20.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/compiler.mjs +31 -37
- package/fesm2022/compiler.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +1 -1
package/fesm2022/compiler.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v20.0.
|
|
2
|
+
* @license Angular v20.0.1
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -19411,8 +19411,13 @@ class _ParseAST {
|
|
|
19411
19411
|
if (this.consumeOptionalCharacter($LPAREN)) {
|
|
19412
19412
|
this.rparensExpected++;
|
|
19413
19413
|
const result = this.parsePipe();
|
|
19414
|
+
if (!this.consumeOptionalCharacter($RPAREN)) {
|
|
19415
|
+
this.error('Missing closing parentheses');
|
|
19416
|
+
// Calling into `error` above will attempt to recover up until the next closing paren.
|
|
19417
|
+
// If that's the case, consume it so we can partially recover the expression.
|
|
19418
|
+
this.consumeOptionalCharacter($RPAREN);
|
|
19419
|
+
}
|
|
19414
19420
|
this.rparensExpected--;
|
|
19415
|
-
this.expectCharacter($RPAREN);
|
|
19416
19421
|
return new ParenthesizedExpression(this.span(start), this.sourceSpan(start), result);
|
|
19417
19422
|
}
|
|
19418
19423
|
else if (this.next.isKeywordNull()) {
|
|
@@ -23776,10 +23781,9 @@ function reifyCreateOperations(unit, ops) {
|
|
|
23776
23781
|
args = [];
|
|
23777
23782
|
}
|
|
23778
23783
|
else {
|
|
23779
|
-
|
|
23780
|
-
|
|
23781
|
-
|
|
23782
|
-
args = [op.trigger.targetSlot.slot];
|
|
23784
|
+
// The slots not being defined at this point is invalid, however we
|
|
23785
|
+
// catch it during type checking. Pass in null in such cases.
|
|
23786
|
+
args = [op.trigger.targetSlot?.slot ?? null];
|
|
23783
23787
|
if (op.trigger.targetSlotViewSteps !== 0) {
|
|
23784
23788
|
args.push(op.trigger.targetSlotViewSteps);
|
|
23785
23789
|
}
|
|
@@ -28514,7 +28518,7 @@ class OnTriggerParser {
|
|
|
28514
28518
|
this.trackTrigger('timer', createTimerTrigger(parameters, nameSpan, sourceSpan, this.prefetchSpan, this.onSourceSpan, this.hydrateSpan));
|
|
28515
28519
|
break;
|
|
28516
28520
|
case OnTriggerType.INTERACTION:
|
|
28517
|
-
this.trackTrigger('interaction', createInteractionTrigger(parameters, nameSpan, sourceSpan, this.prefetchSpan, this.onSourceSpan, this.hydrateSpan, this.
|
|
28521
|
+
this.trackTrigger('interaction', createInteractionTrigger(parameters, nameSpan, sourceSpan, this.prefetchSpan, this.onSourceSpan, this.hydrateSpan, this.validator));
|
|
28518
28522
|
break;
|
|
28519
28523
|
case OnTriggerType.IMMEDIATE:
|
|
28520
28524
|
this.trackTrigger('immediate', createImmediateTrigger(parameters, nameSpan, sourceSpan, this.prefetchSpan, this.onSourceSpan, this.hydrateSpan));
|
|
@@ -28523,7 +28527,7 @@ class OnTriggerParser {
|
|
|
28523
28527
|
this.trackTrigger('hover', createHoverTrigger(parameters, nameSpan, sourceSpan, this.prefetchSpan, this.onSourceSpan, this.hydrateSpan, this.placeholder, this.validator));
|
|
28524
28528
|
break;
|
|
28525
28529
|
case OnTriggerType.VIEWPORT:
|
|
28526
|
-
this.trackTrigger('viewport', createViewportTrigger(parameters, nameSpan, sourceSpan, this.prefetchSpan, this.onSourceSpan, this.hydrateSpan, this.
|
|
28530
|
+
this.trackTrigger('viewport', createViewportTrigger(parameters, nameSpan, sourceSpan, this.prefetchSpan, this.onSourceSpan, this.hydrateSpan, this.validator));
|
|
28527
28531
|
break;
|
|
28528
28532
|
default:
|
|
28529
28533
|
throw new Error(`Unrecognized trigger type "${identifier}"`);
|
|
@@ -28636,36 +28640,26 @@ function createImmediateTrigger(parameters, nameSpan, sourceSpan, prefetchSpan,
|
|
|
28636
28640
|
return new ImmediateDeferredTrigger(nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan);
|
|
28637
28641
|
}
|
|
28638
28642
|
function createHoverTrigger(parameters, nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan, placeholder, validator) {
|
|
28639
|
-
validator(OnTriggerType.HOVER, parameters
|
|
28643
|
+
validator(OnTriggerType.HOVER, parameters);
|
|
28640
28644
|
return new HoverDeferredTrigger(parameters[0] ?? null, nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan);
|
|
28641
28645
|
}
|
|
28642
|
-
function createInteractionTrigger(parameters, nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan,
|
|
28643
|
-
validator(OnTriggerType.INTERACTION, parameters
|
|
28646
|
+
function createInteractionTrigger(parameters, nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan, validator) {
|
|
28647
|
+
validator(OnTriggerType.INTERACTION, parameters);
|
|
28644
28648
|
return new InteractionDeferredTrigger(parameters[0] ?? null, nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan);
|
|
28645
28649
|
}
|
|
28646
|
-
function createViewportTrigger(parameters, nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan,
|
|
28647
|
-
validator(OnTriggerType.VIEWPORT, parameters
|
|
28650
|
+
function createViewportTrigger(parameters, nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan, validator) {
|
|
28651
|
+
validator(OnTriggerType.VIEWPORT, parameters);
|
|
28648
28652
|
return new ViewportDeferredTrigger(parameters[0] ?? null, nameSpan, sourceSpan, prefetchSpan, onSourceSpan, hydrateSpan);
|
|
28649
28653
|
}
|
|
28650
28654
|
/**
|
|
28651
28655
|
* Checks whether the structure of a non-hydrate reference-based trigger is valid.
|
|
28652
28656
|
* @param type Type of the trigger being validated.
|
|
28653
28657
|
* @param parameters Parameters of the trigger.
|
|
28654
|
-
* @param placeholder Placeholder of the defer block.
|
|
28655
28658
|
*/
|
|
28656
|
-
function validatePlainReferenceBasedTrigger(type, parameters
|
|
28659
|
+
function validatePlainReferenceBasedTrigger(type, parameters) {
|
|
28657
28660
|
if (parameters.length > 1) {
|
|
28658
28661
|
throw new Error(`"${type}" trigger can only have zero or one parameters`);
|
|
28659
28662
|
}
|
|
28660
|
-
if (parameters.length === 0) {
|
|
28661
|
-
if (placeholder === null) {
|
|
28662
|
-
throw new Error(`"${type}" trigger with no parameters can only be placed on an @defer that has a @placeholder block`);
|
|
28663
|
-
}
|
|
28664
|
-
if (placeholder.children.length !== 1 || !(placeholder.children[0] instanceof Element$1)) {
|
|
28665
|
-
throw new Error(`"${type}" trigger with no parameters can only be placed on an @defer that has a ` +
|
|
28666
|
-
`@placeholder block with exactly one root element node`);
|
|
28667
|
-
}
|
|
28668
|
-
}
|
|
28669
28663
|
}
|
|
28670
28664
|
/**
|
|
28671
28665
|
* Checks whether the structure of a hydrate trigger is valid.
|
|
@@ -31102,7 +31096,7 @@ class R3BoundTarget {
|
|
|
31102
31096
|
}
|
|
31103
31097
|
const name = trigger.reference;
|
|
31104
31098
|
if (name === null) {
|
|
31105
|
-
let
|
|
31099
|
+
let target = null;
|
|
31106
31100
|
if (block.placeholder !== null) {
|
|
31107
31101
|
for (const child of block.placeholder.children) {
|
|
31108
31102
|
// Skip over comment nodes. Currently by default the template parser doesn't capture
|
|
@@ -31112,15 +31106,15 @@ class R3BoundTarget {
|
|
|
31112
31106
|
}
|
|
31113
31107
|
// We can only infer the trigger if there's one root element node. Any other
|
|
31114
31108
|
// nodes at the root make it so that we can't infer the trigger anymore.
|
|
31115
|
-
if (
|
|
31109
|
+
if (target !== null) {
|
|
31116
31110
|
return null;
|
|
31117
31111
|
}
|
|
31118
31112
|
if (child instanceof Element$1) {
|
|
31119
|
-
|
|
31113
|
+
target = child;
|
|
31120
31114
|
}
|
|
31121
31115
|
}
|
|
31122
31116
|
}
|
|
31123
|
-
return
|
|
31117
|
+
return target;
|
|
31124
31118
|
}
|
|
31125
31119
|
const outsideRef = this.findEntityInScope(block, name);
|
|
31126
31120
|
// First try to resolve the target in the scope of the main deferred block. Note that we
|
|
@@ -33653,7 +33647,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
|
|
|
33653
33647
|
function compileDeclareClassMetadata(metadata) {
|
|
33654
33648
|
const definitionMap = new DefinitionMap();
|
|
33655
33649
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
33656
|
-
definitionMap.set('version', literal('20.0.
|
|
33650
|
+
definitionMap.set('version', literal('20.0.1'));
|
|
33657
33651
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
33658
33652
|
definitionMap.set('type', metadata.type);
|
|
33659
33653
|
definitionMap.set('decorators', metadata.decorators);
|
|
@@ -33671,7 +33665,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
|
|
|
33671
33665
|
callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? literal(null));
|
|
33672
33666
|
callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? literal(null));
|
|
33673
33667
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
|
|
33674
|
-
definitionMap.set('version', literal('20.0.
|
|
33668
|
+
definitionMap.set('version', literal('20.0.1'));
|
|
33675
33669
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
33676
33670
|
definitionMap.set('type', metadata.type);
|
|
33677
33671
|
definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
|
|
@@ -33766,7 +33760,7 @@ function createDirectiveDefinitionMap(meta) {
|
|
|
33766
33760
|
const definitionMap = new DefinitionMap();
|
|
33767
33761
|
const minVersion = getMinimumVersionForPartialOutput(meta);
|
|
33768
33762
|
definitionMap.set('minVersion', literal(minVersion));
|
|
33769
|
-
definitionMap.set('version', literal('20.0.
|
|
33763
|
+
definitionMap.set('version', literal('20.0.1'));
|
|
33770
33764
|
// e.g. `type: MyDirective`
|
|
33771
33765
|
definitionMap.set('type', meta.type.value);
|
|
33772
33766
|
if (meta.isStandalone !== undefined) {
|
|
@@ -34182,7 +34176,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
|
|
|
34182
34176
|
function compileDeclareFactoryFunction(meta) {
|
|
34183
34177
|
const definitionMap = new DefinitionMap();
|
|
34184
34178
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
34185
|
-
definitionMap.set('version', literal('20.0.
|
|
34179
|
+
definitionMap.set('version', literal('20.0.1'));
|
|
34186
34180
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34187
34181
|
definitionMap.set('type', meta.type.value);
|
|
34188
34182
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
@@ -34217,7 +34211,7 @@ function compileDeclareInjectableFromMetadata(meta) {
|
|
|
34217
34211
|
function createInjectableDefinitionMap(meta) {
|
|
34218
34212
|
const definitionMap = new DefinitionMap();
|
|
34219
34213
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
34220
|
-
definitionMap.set('version', literal('20.0.
|
|
34214
|
+
definitionMap.set('version', literal('20.0.1'));
|
|
34221
34215
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34222
34216
|
definitionMap.set('type', meta.type.value);
|
|
34223
34217
|
// Only generate providedIn property if it has a non-null value
|
|
@@ -34268,7 +34262,7 @@ function compileDeclareInjectorFromMetadata(meta) {
|
|
|
34268
34262
|
function createInjectorDefinitionMap(meta) {
|
|
34269
34263
|
const definitionMap = new DefinitionMap();
|
|
34270
34264
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
34271
|
-
definitionMap.set('version', literal('20.0.
|
|
34265
|
+
definitionMap.set('version', literal('20.0.1'));
|
|
34272
34266
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34273
34267
|
definitionMap.set('type', meta.type.value);
|
|
34274
34268
|
definitionMap.set('providers', meta.providers);
|
|
@@ -34301,7 +34295,7 @@ function createNgModuleDefinitionMap(meta) {
|
|
|
34301
34295
|
throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
|
|
34302
34296
|
}
|
|
34303
34297
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
34304
|
-
definitionMap.set('version', literal('20.0.
|
|
34298
|
+
definitionMap.set('version', literal('20.0.1'));
|
|
34305
34299
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34306
34300
|
definitionMap.set('type', meta.type.value);
|
|
34307
34301
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
@@ -34352,7 +34346,7 @@ function compileDeclarePipeFromMetadata(meta) {
|
|
|
34352
34346
|
function createPipeDefinitionMap(meta) {
|
|
34353
34347
|
const definitionMap = new DefinitionMap();
|
|
34354
34348
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
34355
|
-
definitionMap.set('version', literal('20.0.
|
|
34349
|
+
definitionMap.set('version', literal('20.0.1'));
|
|
34356
34350
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34357
34351
|
// e.g. `type: MyPipe`
|
|
34358
34352
|
definitionMap.set('type', meta.type.value);
|
|
@@ -34508,7 +34502,7 @@ function compileHmrUpdateCallback(definitions, constantStatements, meta) {
|
|
|
34508
34502
|
* @description
|
|
34509
34503
|
* Entry point for all public APIs of the compiler package.
|
|
34510
34504
|
*/
|
|
34511
|
-
const VERSION = new Version('20.0.
|
|
34505
|
+
const VERSION = new Version('20.0.1');
|
|
34512
34506
|
|
|
34513
34507
|
//////////////////////////////////////
|
|
34514
34508
|
// THIS FILE HAS GLOBAL SIDE EFFECT //
|