@angular/compiler 18.2.0-next.1 → 18.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/esm2022/src/render3/partial/class_metadata.mjs +2 -2
- package/esm2022/src/render3/partial/directive.mjs +1 -1
- package/esm2022/src/render3/partial/factory.mjs +1 -1
- package/esm2022/src/render3/partial/injectable.mjs +1 -1
- package/esm2022/src/render3/partial/injector.mjs +1 -1
- package/esm2022/src/render3/partial/ng_module.mjs +1 -1
- package/esm2022/src/render3/partial/pipe.mjs +1 -1
- package/esm2022/src/template/pipeline/src/phases/chaining.mjs +10 -2
- package/esm2022/src/version.mjs +1 -1
- package/fesm2022/compiler.mjs +19 -11
- package/fesm2022/compiler.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +2 -2
|
@@ -24,7 +24,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
|
|
|
24
24
|
export function compileDeclareClassMetadata(metadata) {
|
|
25
25
|
const definitionMap = new DefinitionMap();
|
|
26
26
|
definitionMap.set('minVersion', o.literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
27
|
-
definitionMap.set('version', o.literal('18.2.0-next.
|
|
27
|
+
definitionMap.set('version', o.literal('18.2.0-next.2'));
|
|
28
28
|
definitionMap.set('ngImport', o.importExpr(R3.core));
|
|
29
29
|
definitionMap.set('type', metadata.type);
|
|
30
30
|
definitionMap.set('decorators', metadata.decorators);
|
|
@@ -42,7 +42,7 @@ export function compileComponentDeclareClassMetadata(metadata, dependencies) {
|
|
|
42
42
|
callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? o.literal(null));
|
|
43
43
|
callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? o.literal(null));
|
|
44
44
|
definitionMap.set('minVersion', o.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
|
|
45
|
-
definitionMap.set('version', o.literal('18.2.0-next.
|
|
45
|
+
definitionMap.set('version', o.literal('18.2.0-next.2'));
|
|
46
46
|
definitionMap.set('ngImport', o.importExpr(R3.core));
|
|
47
47
|
definitionMap.set('type', metadata.type);
|
|
48
48
|
definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
|
|
@@ -28,7 +28,7 @@ export function createDirectiveDefinitionMap(meta) {
|
|
|
28
28
|
const definitionMap = new DefinitionMap();
|
|
29
29
|
const minVersion = getMinimumVersionForPartialOutput(meta);
|
|
30
30
|
definitionMap.set('minVersion', o.literal(minVersion));
|
|
31
|
-
definitionMap.set('version', o.literal('18.2.0-next.
|
|
31
|
+
definitionMap.set('version', o.literal('18.2.0-next.2'));
|
|
32
32
|
// e.g. `type: MyDirective`
|
|
33
33
|
definitionMap.set('type', meta.type.value);
|
|
34
34
|
if (meta.isStandalone) {
|
|
@@ -21,7 +21,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION = '12.0.0';
|
|
|
21
21
|
export function compileDeclareFactoryFunction(meta) {
|
|
22
22
|
const definitionMap = new DefinitionMap();
|
|
23
23
|
definitionMap.set('minVersion', o.literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
24
|
-
definitionMap.set('version', o.literal('18.2.0-next.
|
|
24
|
+
definitionMap.set('version', o.literal('18.2.0-next.2'));
|
|
25
25
|
definitionMap.set('ngImport', o.importExpr(R3.core));
|
|
26
26
|
definitionMap.set('type', meta.type.value);
|
|
27
27
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
@@ -34,7 +34,7 @@ export function compileDeclareInjectableFromMetadata(meta) {
|
|
|
34
34
|
export function createInjectableDefinitionMap(meta) {
|
|
35
35
|
const definitionMap = new DefinitionMap();
|
|
36
36
|
definitionMap.set('minVersion', o.literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
37
|
-
definitionMap.set('version', o.literal('18.2.0-next.
|
|
37
|
+
definitionMap.set('version', o.literal('18.2.0-next.2'));
|
|
38
38
|
definitionMap.set('ngImport', o.importExpr(R3.core));
|
|
39
39
|
definitionMap.set('type', meta.type.value);
|
|
40
40
|
// Only generate providedIn property if it has a non-null value
|
|
@@ -29,7 +29,7 @@ export function compileDeclareInjectorFromMetadata(meta) {
|
|
|
29
29
|
function createInjectorDefinitionMap(meta) {
|
|
30
30
|
const definitionMap = new DefinitionMap();
|
|
31
31
|
definitionMap.set('minVersion', o.literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
32
|
-
definitionMap.set('version', o.literal('18.2.0-next.
|
|
32
|
+
definitionMap.set('version', o.literal('18.2.0-next.2'));
|
|
33
33
|
definitionMap.set('ngImport', o.importExpr(R3.core));
|
|
34
34
|
definitionMap.set('type', meta.type.value);
|
|
35
35
|
definitionMap.set('providers', meta.providers);
|
|
@@ -33,7 +33,7 @@ function createNgModuleDefinitionMap(meta) {
|
|
|
33
33
|
throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
|
|
34
34
|
}
|
|
35
35
|
definitionMap.set('minVersion', o.literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
36
|
-
definitionMap.set('version', o.literal('18.2.0-next.
|
|
36
|
+
definitionMap.set('version', o.literal('18.2.0-next.2'));
|
|
37
37
|
definitionMap.set('ngImport', o.importExpr(R3.core));
|
|
38
38
|
definitionMap.set('type', meta.type.value);
|
|
39
39
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
@@ -32,7 +32,7 @@ export function compileDeclarePipeFromMetadata(meta) {
|
|
|
32
32
|
export function createPipeDefinitionMap(meta) {
|
|
33
33
|
const definitionMap = new DefinitionMap();
|
|
34
34
|
definitionMap.set('minVersion', o.literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
35
|
-
definitionMap.set('version', o.literal('18.2.0-next.
|
|
35
|
+
definitionMap.set('version', o.literal('18.2.0-next.2'));
|
|
36
36
|
definitionMap.set('ngImport', o.importExpr(R3.core));
|
|
37
37
|
// e.g. `type: MyPipe`
|
|
38
38
|
definitionMap.set('type', meta.type.value);
|
|
@@ -39,6 +39,12 @@ const CHAINABLE = new Set([
|
|
|
39
39
|
R3.twoWayListener,
|
|
40
40
|
R3.declareLet,
|
|
41
41
|
]);
|
|
42
|
+
/**
|
|
43
|
+
* Chaining results in repeated call expressions, causing a deep AST of receiver expressions. To prevent running out of
|
|
44
|
+
* stack depth the maximum number of chained instructions is limited to this threshold, which has been selected
|
|
45
|
+
* arbitrarily.
|
|
46
|
+
*/
|
|
47
|
+
const MAX_CHAIN_LENGTH = 256;
|
|
42
48
|
/**
|
|
43
49
|
* Post-process a reified view compilation and convert sequential calls to chainable instructions
|
|
44
50
|
* into chain calls.
|
|
@@ -84,11 +90,12 @@ function chainOperationsInList(opList) {
|
|
|
84
90
|
}
|
|
85
91
|
// This instruction can be chained. It can either be added on to the previous chain (if
|
|
86
92
|
// compatible) or it can be the start of a new chain.
|
|
87
|
-
if (chain !== null && chain.instruction === instruction) {
|
|
93
|
+
if (chain !== null && chain.instruction === instruction && chain.length < MAX_CHAIN_LENGTH) {
|
|
88
94
|
// This instruction can be added onto the previous chain.
|
|
89
95
|
const expression = chain.expression.callFn(op.statement.expr.args, op.statement.expr.sourceSpan, op.statement.expr.pure);
|
|
90
96
|
chain.expression = expression;
|
|
91
97
|
chain.op.statement = expression.toStmt();
|
|
98
|
+
chain.length++;
|
|
92
99
|
ir.OpList.remove(op);
|
|
93
100
|
}
|
|
94
101
|
else {
|
|
@@ -97,8 +104,9 @@ function chainOperationsInList(opList) {
|
|
|
97
104
|
op,
|
|
98
105
|
instruction,
|
|
99
106
|
expression: op.statement.expr,
|
|
107
|
+
length: 1,
|
|
100
108
|
};
|
|
101
109
|
}
|
|
102
110
|
}
|
|
103
111
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL3BoYXNlcy9jaGFpbmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssQ0FBQyxNQUFNLCtCQUErQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHL0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDeEIsRUFBRSxDQUFDLFNBQVM7SUFDWixFQUFFLENBQUMsU0FBUztJQUNaLEVBQUUsQ0FBQyxPQUFPO0lBQ1YsRUFBRSxDQUFDLGdCQUFnQjtJQUNuQixFQUFFLENBQUMsbUJBQW1CO0lBQ3RCLEVBQUUsQ0FBQyxxQkFBcUI7SUFDeEIsRUFBRSxDQUFDLFVBQVU7SUFDYixFQUFFLENBQUMsWUFBWTtJQUNmLEVBQUUsQ0FBQyxZQUFZO0lBQ2YsRUFBRSxDQUFDLE9BQU87SUFDVixFQUFFLENBQUMsUUFBUTtJQUNYLEVBQUUsQ0FBQyxRQUFRO0lBQ1gsRUFBRSxDQUFDLFFBQVE7SUFDWCxFQUFFLENBQUMsU0FBUztJQUNaLEVBQUUsQ0FBQyxxQkFBcUI7SUFDeEIsRUFBRSxDQUFDLHFCQUFxQjtJQUN4QixFQUFFLENBQUMscUJBQXFCO0lBQ3hCLEVBQUUsQ0FBQyxxQkFBcUI7SUFDeEIsRUFBRSxDQUFDLHFCQUFxQjtJQUN4QixFQUFFLENBQUMscUJBQXFCO0lBQ3hCLEVBQUUsQ0FBQyxxQkFBcUI7SUFDeEIsRUFBRSxDQUFDLHFCQUFxQjtJQUN4QixFQUFFLENBQUMscUJBQXFCO0lBQ3hCLEVBQUUsQ0FBQyxxQkFBcUI7SUFDeEIsRUFBRSxDQUFDLHFCQUFxQjtJQUN4QixFQUFFLENBQUMsY0FBYztJQUNqQixFQUFFLENBQUMsY0FBYztJQUNqQixFQUFFLENBQUMsY0FBYztJQUNqQixFQUFFLENBQUMsVUFBVTtDQUNkLENBQUMsQ0FBQztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUU3Qjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBbUI7SUFDdkMsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsTUFBNEM7SUFDekUsSUFBSSxLQUFLLEdBQWlCLElBQUksQ0FBQztJQUMvQixLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsWUFBWSxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ3hGLDBDQUEwQztZQUMxQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsU0FBUztRQUNYLENBQUM7UUFDRCxJQUNFLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsa0JBQWtCLENBQUM7WUFDcEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQ2pELENBQUM7WUFDRCwyRUFBMkU7WUFDM0UsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNiLFNBQVM7UUFDWCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2hDLG9DQUFvQztZQUNwQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsU0FBUztRQUNYLENBQUM7UUFFRCx1RkFBdUY7UUFDdkYscURBQXFEO1FBQ3JELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLGdCQUFnQixFQUFFLENBQUM7WUFDM0YseURBQXlEO1lBQ3pELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUN4QyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQ3RCLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFDNUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN2QixDQUFDO1lBQ0YsS0FBSyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDOUIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQXNDLENBQUMsQ0FBQztRQUMzRCxDQUFDO2FBQU0sQ0FBQztZQUNOLGtGQUFrRjtZQUNsRixLQUFLLEdBQUc7Z0JBQ04sRUFBRTtnQkFDRixXQUFXO2dCQUNYLFVBQVUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUk7Z0JBQzdCLE1BQU0sRUFBRSxDQUFDO2FBQ1YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBvIGZyb20gJy4uLy4uLy4uLy4uL291dHB1dC9vdXRwdXRfYXN0JztcbmltcG9ydCB7SWRlbnRpZmllcnMgYXMgUjN9IGZyb20gJy4uLy4uLy4uLy4uL3JlbmRlcjMvcjNfaWRlbnRpZmllcnMnO1xuaW1wb3J0ICogYXMgaXIgZnJvbSAnLi4vLi4vaXInO1xuaW1wb3J0IHtDb21waWxhdGlvbkpvYn0gZnJvbSAnLi4vY29tcGlsYXRpb24nO1xuXG5jb25zdCBDSEFJTkFCTEUgPSBuZXcgU2V0KFtcbiAgUjMuYXR0cmlidXRlLFxuICBSMy5jbGFzc1Byb3AsXG4gIFIzLmVsZW1lbnQsXG4gIFIzLmVsZW1lbnRDb250YWluZXIsXG4gIFIzLmVsZW1lbnRDb250YWluZXJFbmQsXG4gIFIzLmVsZW1lbnRDb250YWluZXJTdGFydCxcbiAgUjMuZWxlbWVudEVuZCxcbiAgUjMuZWxlbWVudFN0YXJ0LFxuICBSMy5ob3N0UHJvcGVydHksXG4gIFIzLmkxOG5FeHAsXG4gIFIzLmxpc3RlbmVyLFxuICBSMy5saXN0ZW5lcixcbiAgUjMucHJvcGVydHksXG4gIFIzLnN0eWxlUHJvcCxcbiAgUjMuc3R5bGVQcm9wSW50ZXJwb2xhdGUxLFxuICBSMy5zdHlsZVByb3BJbnRlcnBvbGF0ZTIsXG4gIFIzLnN0eWxlUHJvcEludGVycG9sYXRlMyxcbiAgUjMuc3R5bGVQcm9wSW50ZXJwb2xhdGU0LFxuICBSMy5zdHlsZVByb3BJbnRlcnBvbGF0ZTUsXG4gIFIzLnN0eWxlUHJvcEludGVycG9sYXRlNixcbiAgUjMuc3R5bGVQcm9wSW50ZXJwb2xhdGU3LFxuICBSMy5zdHlsZVByb3BJbnRlcnBvbGF0ZTgsXG4gIFIzLnN0eWxlUHJvcEludGVycG9sYXRlVixcbiAgUjMuc3ludGhldGljSG9zdExpc3RlbmVyLFxuICBSMy5zeW50aGV0aWNIb3N0UHJvcGVydHksXG4gIFIzLnRlbXBsYXRlQ3JlYXRlLFxuICBSMy50d29XYXlQcm9wZXJ0eSxcbiAgUjMudHdvV2F5TGlzdGVuZXIsXG4gIFIzLmRlY2xhcmVMZXQsXG5dKTtcblxuLyoqXG4gKiBDaGFpbmluZyByZXN1bHRzIGluIHJlcGVhdGVkIGNhbGwgZXhwcmVzc2lvbnMsIGNhdXNpbmcgYSBkZWVwIEFTVCBvZiByZWNlaXZlciBleHByZXNzaW9ucy4gVG8gcHJldmVudCBydW5uaW5nIG91dCBvZlxuICogc3RhY2sgZGVwdGggdGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYWluZWQgaW5zdHJ1Y3Rpb25zIGlzIGxpbWl0ZWQgdG8gdGhpcyB0aHJlc2hvbGQsIHdoaWNoIGhhcyBiZWVuIHNlbGVjdGVkXG4gKiBhcmJpdHJhcmlseS5cbiAqL1xuY29uc3QgTUFYX0NIQUlOX0xFTkdUSCA9IDI1NjtcblxuLyoqXG4gKiBQb3N0LXByb2Nlc3MgYSByZWlmaWVkIHZpZXcgY29tcGlsYXRpb24gYW5kIGNvbnZlcnQgc2VxdWVudGlhbCBjYWxscyB0byBjaGFpbmFibGUgaW5zdHJ1Y3Rpb25zXG4gKiBpbnRvIGNoYWluIGNhbGxzLlxuICpcbiAqIEZvciBleGFtcGxlLCB0d28gYGVsZW1lbnRTdGFydGAgb3BlcmF0aW9ucyBpbiBzZXF1ZW5jZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBlbGVtZW50U3RhcnQoMCwgJ2RpdicpO1xuICogZWxlbWVudFN0YXJ0KDEsICdzcGFuJyk7XG4gKiBgYGBcbiAqXG4gKiBDYW4gYmUgY2FsbGVkIGFzIGEgY2hhaW4gaW5zdGVhZDpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBlbGVtZW50U3RhcnQoMCwgJ2RpdicpKDEsICdzcGFuJyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoYWluKGpvYjogQ29tcGlsYXRpb25Kb2IpOiB2b2lkIHtcbiAgZm9yIChjb25zdCB1bml0IG9mIGpvYi51bml0cykge1xuICAgIGNoYWluT3BlcmF0aW9uc0luTGlzdCh1bml0LmNyZWF0ZSk7XG4gICAgY2hhaW5PcGVyYXRpb25zSW5MaXN0KHVuaXQudXBkYXRlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGFpbk9wZXJhdGlvbnNJbkxpc3Qob3BMaXN0OiBpci5PcExpc3Q8aXIuQ3JlYXRlT3AgfCBpci5VcGRhdGVPcD4pOiB2b2lkIHtcbiAgbGV0IGNoYWluOiBDaGFpbiB8IG51bGwgPSBudWxsO1xuICBmb3IgKGNvbnN0IG9wIG9mIG9wTGlzdCkge1xuICAgIGlmIChvcC5raW5kICE9PSBpci5PcEtpbmQuU3RhdGVtZW50IHx8ICEob3Auc3RhdGVtZW50IGluc3RhbmNlb2Ygby5FeHByZXNzaW9uU3RhdGVtZW50KSkge1xuICAgICAgLy8gVGhpcyB0eXBlIG9mIHN0YXRlbWVudCBpc24ndCBjaGFpbmFibGUuXG4gICAgICBjaGFpbiA9IG51bGw7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIShvcC5zdGF0ZW1lbnQuZXhwciBpbnN0YW5jZW9mIG8uSW52b2tlRnVuY3Rpb25FeHByKSB8fFxuICAgICAgIShvcC5zdGF0ZW1lbnQuZXhwci5mbiBpbnN0YW5jZW9mIG8uRXh0ZXJuYWxFeHByKVxuICAgICkge1xuICAgICAgLy8gVGhpcyBpcyBhIHN0YXRlbWVudCwgYnV0IG5vdCBhbiBpbnN0cnVjdGlvbi10eXBlIGNhbGwsIHNvIG5vdCBjaGFpbmFibGUuXG4gICAgICBjaGFpbiA9IG51bGw7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0cnVjdGlvbiA9IG9wLnN0YXRlbWVudC5leHByLmZuLnZhbHVlO1xuICAgIGlmICghQ0hBSU5BQkxFLmhhcyhpbnN0cnVjdGlvbikpIHtcbiAgICAgIC8vIFRoaXMgaW5zdHJ1Y3Rpb24gaXNuJ3QgY2hhaW5hYmxlLlxuICAgICAgY2hhaW4gPSBudWxsO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBpbnN0cnVjdGlvbiBjYW4gYmUgY2hhaW5lZC4gSXQgY2FuIGVpdGhlciBiZSBhZGRlZCBvbiB0byB0aGUgcHJldmlvdXMgY2hhaW4gKGlmXG4gICAgLy8gY29tcGF0aWJsZSkgb3IgaXQgY2FuIGJlIHRoZSBzdGFydCBvZiBhIG5ldyBjaGFpbi5cbiAgICBpZiAoY2hhaW4gIT09IG51bGwgJiYgY2hhaW4uaW5zdHJ1Y3Rpb24gPT09IGluc3RydWN0aW9uICYmIGNoYWluLmxlbmd0aCA8IE1BWF9DSEFJTl9MRU5HVEgpIHtcbiAgICAgIC8vIFRoaXMgaW5zdHJ1Y3Rpb24gY2FuIGJlIGFkZGVkIG9udG8gdGhlIHByZXZpb3VzIGNoYWluLlxuICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGNoYWluLmV4cHJlc3Npb24uY2FsbEZuKFxuICAgICAgICBvcC5zdGF0ZW1lbnQuZXhwci5hcmdzLFxuICAgICAgICBvcC5zdGF0ZW1lbnQuZXhwci5zb3VyY2VTcGFuLFxuICAgICAgICBvcC5zdGF0ZW1lbnQuZXhwci5wdXJlLFxuICAgICAgKTtcbiAgICAgIGNoYWluLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuICAgICAgY2hhaW4ub3Auc3RhdGVtZW50ID0gZXhwcmVzc2lvbi50b1N0bXQoKTtcbiAgICAgIGNoYWluLmxlbmd0aCsrO1xuICAgICAgaXIuT3BMaXN0LnJlbW92ZShvcCBhcyBpci5PcDxpci5DcmVhdGVPcCB8IGlyLlVwZGF0ZU9wPik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIExlYXZlIHRoaXMgaW5zdHJ1Y3Rpb24gYWxvbmUgZm9yIG5vdywgYnV0IGNvbnNpZGVyIGl0IHRoZSBzdGFydCBvZiBhIG5ldyBjaGFpbi5cbiAgICAgIGNoYWluID0ge1xuICAgICAgICBvcCxcbiAgICAgICAgaW5zdHJ1Y3Rpb24sXG4gICAgICAgIGV4cHJlc3Npb246IG9wLnN0YXRlbWVudC5leHByLFxuICAgICAgICBsZW5ndGg6IDEsXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFN0cnVjdHVyZSByZXByZXNlbnRpbmcgYW4gaW4tcHJvZ3Jlc3MgY2hhaW4uXG4gKi9cbmludGVyZmFjZSBDaGFpbiB7XG4gIC8qKlxuICAgKiBUaGUgc3RhdGVtZW50IHdoaWNoIGhvbGRzIHRoZSBlbnRpcmUgY2hhaW4uXG4gICAqL1xuICBvcDogaXIuU3RhdGVtZW50T3A8aXIuQ3JlYXRlT3AgfCBpci5VcGRhdGVPcD47XG5cbiAgLyoqXG4gICAqIFRoZSBleHByZXNzaW9uIHJlcHJlc2VudGluZyB0aGUgd2hvbGUgY3VycmVudCBjaGFpbmVkIGNhbGwuXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIGBvcC5zdGF0ZW1lbnQuZXhwcmVzc2lvbmAsIGJ1dCBpcyBleHRyYWN0ZWQgaGVyZSBmb3IgY29udmVuaWVuY2VcbiAgICogc2luY2UgdGhlIGBvcGAgdHlwZSBkb2Vzbid0IGNhcHR1cmUgdGhlIGZhY3QgdGhhdCBgb3Auc3RhdGVtZW50YCBpcyBhbiBgby5FeHByZXNzaW9uU3RhdGVtZW50YC5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbjtcblxuICAvKipcbiAgICogVGhlIGluc3RydWN0aW9uIHRoYXQgaXMgYmVpbmcgY2hhaW5lZC5cbiAgICovXG4gIGluc3RydWN0aW9uOiBvLkV4dGVybmFsUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGluc3RydWN0aW9ucyB0aGF0IGhhdmUgYmVlbiBjb2xsZWN0ZWQgaW50byB0aGlzIGNoYWluLlxuICAgKi9cbiAgbGVuZ3RoOiBudW1iZXI7XG59XG4iXX0=
|
package/esm2022/src/version.mjs
CHANGED
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
* Entry point for all public APIs of the compiler package.
|
|
12
12
|
*/
|
|
13
13
|
import { Version } from './util';
|
|
14
|
-
export const VERSION = new Version('18.2.0-next.
|
|
14
|
+
export const VERSION = new Version('18.2.0-next.2');
|
|
15
15
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBFbnRyeSBwb2ludCBmb3IgYWxsIHB1YmxpYyBBUElzIG9mIHRoZSBjb21waWxlciBwYWNrYWdlLlxuICovXG5cbmltcG9ydCB7VmVyc2lvbn0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==
|
package/fesm2022/compiler.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v18.2.0-next.
|
|
2
|
+
* @license Angular v18.2.0-next.2
|
|
3
3
|
* (c) 2010-2024 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -11212,6 +11212,12 @@ const CHAINABLE = new Set([
|
|
|
11212
11212
|
Identifiers.twoWayListener,
|
|
11213
11213
|
Identifiers.declareLet,
|
|
11214
11214
|
]);
|
|
11215
|
+
/**
|
|
11216
|
+
* Chaining results in repeated call expressions, causing a deep AST of receiver expressions. To prevent running out of
|
|
11217
|
+
* stack depth the maximum number of chained instructions is limited to this threshold, which has been selected
|
|
11218
|
+
* arbitrarily.
|
|
11219
|
+
*/
|
|
11220
|
+
const MAX_CHAIN_LENGTH = 256;
|
|
11215
11221
|
/**
|
|
11216
11222
|
* Post-process a reified view compilation and convert sequential calls to chainable instructions
|
|
11217
11223
|
* into chain calls.
|
|
@@ -11257,11 +11263,12 @@ function chainOperationsInList(opList) {
|
|
|
11257
11263
|
}
|
|
11258
11264
|
// This instruction can be chained. It can either be added on to the previous chain (if
|
|
11259
11265
|
// compatible) or it can be the start of a new chain.
|
|
11260
|
-
if (chain !== null && chain.instruction === instruction) {
|
|
11266
|
+
if (chain !== null && chain.instruction === instruction && chain.length < MAX_CHAIN_LENGTH) {
|
|
11261
11267
|
// This instruction can be added onto the previous chain.
|
|
11262
11268
|
const expression = chain.expression.callFn(op.statement.expr.args, op.statement.expr.sourceSpan, op.statement.expr.pure);
|
|
11263
11269
|
chain.expression = expression;
|
|
11264
11270
|
chain.op.statement = expression.toStmt();
|
|
11271
|
+
chain.length++;
|
|
11265
11272
|
OpList.remove(op);
|
|
11266
11273
|
}
|
|
11267
11274
|
else {
|
|
@@ -11270,6 +11277,7 @@ function chainOperationsInList(opList) {
|
|
|
11270
11277
|
op,
|
|
11271
11278
|
instruction,
|
|
11272
11279
|
expression: op.statement.expr,
|
|
11280
|
+
length: 1,
|
|
11273
11281
|
};
|
|
11274
11282
|
}
|
|
11275
11283
|
}
|
|
@@ -29540,7 +29548,7 @@ function publishFacade(global) {
|
|
|
29540
29548
|
* @description
|
|
29541
29549
|
* Entry point for all public APIs of the compiler package.
|
|
29542
29550
|
*/
|
|
29543
|
-
const VERSION = new Version('18.2.0-next.
|
|
29551
|
+
const VERSION = new Version('18.2.0-next.2');
|
|
29544
29552
|
|
|
29545
29553
|
class CompilerConfig {
|
|
29546
29554
|
constructor({ defaultEncapsulation = ViewEncapsulation.Emulated, preserveWhitespaces, strictInjectionParameters, } = {}) {
|
|
@@ -31178,7 +31186,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
|
|
|
31178
31186
|
function compileDeclareClassMetadata(metadata) {
|
|
31179
31187
|
const definitionMap = new DefinitionMap();
|
|
31180
31188
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
31181
|
-
definitionMap.set('version', literal('18.2.0-next.
|
|
31189
|
+
definitionMap.set('version', literal('18.2.0-next.2'));
|
|
31182
31190
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31183
31191
|
definitionMap.set('type', metadata.type);
|
|
31184
31192
|
definitionMap.set('decorators', metadata.decorators);
|
|
@@ -31196,7 +31204,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
|
|
|
31196
31204
|
callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? literal(null));
|
|
31197
31205
|
callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? literal(null));
|
|
31198
31206
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
|
|
31199
|
-
definitionMap.set('version', literal('18.2.0-next.
|
|
31207
|
+
definitionMap.set('version', literal('18.2.0-next.2'));
|
|
31200
31208
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31201
31209
|
definitionMap.set('type', metadata.type);
|
|
31202
31210
|
definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
|
|
@@ -31291,7 +31299,7 @@ function createDirectiveDefinitionMap(meta) {
|
|
|
31291
31299
|
const definitionMap = new DefinitionMap();
|
|
31292
31300
|
const minVersion = getMinimumVersionForPartialOutput(meta);
|
|
31293
31301
|
definitionMap.set('minVersion', literal(minVersion));
|
|
31294
|
-
definitionMap.set('version', literal('18.2.0-next.
|
|
31302
|
+
definitionMap.set('version', literal('18.2.0-next.2'));
|
|
31295
31303
|
// e.g. `type: MyDirective`
|
|
31296
31304
|
definitionMap.set('type', meta.type.value);
|
|
31297
31305
|
if (meta.isStandalone) {
|
|
@@ -31713,7 +31721,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
|
|
|
31713
31721
|
function compileDeclareFactoryFunction(meta) {
|
|
31714
31722
|
const definitionMap = new DefinitionMap();
|
|
31715
31723
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
31716
|
-
definitionMap.set('version', literal('18.2.0-next.
|
|
31724
|
+
definitionMap.set('version', literal('18.2.0-next.2'));
|
|
31717
31725
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31718
31726
|
definitionMap.set('type', meta.type.value);
|
|
31719
31727
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
@@ -31748,7 +31756,7 @@ function compileDeclareInjectableFromMetadata(meta) {
|
|
|
31748
31756
|
function createInjectableDefinitionMap(meta) {
|
|
31749
31757
|
const definitionMap = new DefinitionMap();
|
|
31750
31758
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
31751
|
-
definitionMap.set('version', literal('18.2.0-next.
|
|
31759
|
+
definitionMap.set('version', literal('18.2.0-next.2'));
|
|
31752
31760
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31753
31761
|
definitionMap.set('type', meta.type.value);
|
|
31754
31762
|
// Only generate providedIn property if it has a non-null value
|
|
@@ -31799,7 +31807,7 @@ function compileDeclareInjectorFromMetadata(meta) {
|
|
|
31799
31807
|
function createInjectorDefinitionMap(meta) {
|
|
31800
31808
|
const definitionMap = new DefinitionMap();
|
|
31801
31809
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
31802
|
-
definitionMap.set('version', literal('18.2.0-next.
|
|
31810
|
+
definitionMap.set('version', literal('18.2.0-next.2'));
|
|
31803
31811
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31804
31812
|
definitionMap.set('type', meta.type.value);
|
|
31805
31813
|
definitionMap.set('providers', meta.providers);
|
|
@@ -31832,7 +31840,7 @@ function createNgModuleDefinitionMap(meta) {
|
|
|
31832
31840
|
throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
|
|
31833
31841
|
}
|
|
31834
31842
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
31835
|
-
definitionMap.set('version', literal('18.2.0-next.
|
|
31843
|
+
definitionMap.set('version', literal('18.2.0-next.2'));
|
|
31836
31844
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31837
31845
|
definitionMap.set('type', meta.type.value);
|
|
31838
31846
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
@@ -31883,7 +31891,7 @@ function compileDeclarePipeFromMetadata(meta) {
|
|
|
31883
31891
|
function createPipeDefinitionMap(meta) {
|
|
31884
31892
|
const definitionMap = new DefinitionMap();
|
|
31885
31893
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
31886
|
-
definitionMap.set('version', literal('18.2.0-next.
|
|
31894
|
+
definitionMap.set('version', literal('18.2.0-next.2'));
|
|
31887
31895
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31888
31896
|
// e.g. `type: MyPipe`
|
|
31889
31897
|
definitionMap.set('type', meta.type.value);
|