@angular/compiler 18.1.0 → 18.1.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/jit_compiler_facade.mjs +40 -21
- package/esm2022/src/ml_parser/lexer.mjs +2 -2
- 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 +59 -32
- 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.1.
|
|
27
|
+
definitionMap.set('version', o.literal('18.1.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.1.
|
|
45
|
+
definitionMap.set('version', o.literal('18.1.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.1.
|
|
31
|
+
definitionMap.set('version', o.literal('18.1.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.1.
|
|
24
|
+
definitionMap.set('version', o.literal('18.1.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.1.
|
|
37
|
+
definitionMap.set('version', o.literal('18.1.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.1.
|
|
32
|
+
definitionMap.set('version', o.literal('18.1.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.1.
|
|
36
|
+
definitionMap.set('version', o.literal('18.1.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.1.
|
|
35
|
+
definitionMap.set('version', o.literal('18.1.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.1.
|
|
14
|
+
export const VERSION = new Version('18.1.2');
|
|
15
15
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBFbnRyeSBwb2ludCBmb3IgYWxsIHB1YmxpYyBBUElzIG9mIHRoZSBjb21waWxlciBwYWNrYWdlLlxuICovXG5cbmltcG9ydCB7VmVyc2lvbn0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==
|
package/fesm2022/compiler.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v18.1.
|
|
2
|
+
* @license Angular v18.1.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
|
}
|
|
@@ -18012,7 +18020,7 @@ class _Tokenizer {
|
|
|
18012
18020
|
let allowDigit = false;
|
|
18013
18021
|
this._attemptCharCodeUntilFn((code) => {
|
|
18014
18022
|
if (isAsciiLetter(code) ||
|
|
18015
|
-
code
|
|
18023
|
+
code === $$ ||
|
|
18016
18024
|
code === $_ ||
|
|
18017
18025
|
// `@let` names can't start with a digit, but digits are valid anywhere else in the name.
|
|
18018
18026
|
(allowDigit && isDigit(code))) {
|
|
@@ -29128,6 +29136,25 @@ function convertDirectiveFacadeToMetadata(facade) {
|
|
|
29128
29136
|
});
|
|
29129
29137
|
}
|
|
29130
29138
|
}
|
|
29139
|
+
const hostDirectives = facade.hostDirectives?.length
|
|
29140
|
+
? facade.hostDirectives.map((hostDirective) => {
|
|
29141
|
+
return typeof hostDirective === 'function'
|
|
29142
|
+
? {
|
|
29143
|
+
directive: wrapReference(hostDirective),
|
|
29144
|
+
inputs: null,
|
|
29145
|
+
outputs: null,
|
|
29146
|
+
isForwardReference: false,
|
|
29147
|
+
}
|
|
29148
|
+
: {
|
|
29149
|
+
directive: wrapReference(hostDirective.directive),
|
|
29150
|
+
isForwardReference: false,
|
|
29151
|
+
inputs: hostDirective.inputs ? parseMappingStringArray(hostDirective.inputs) : null,
|
|
29152
|
+
outputs: hostDirective.outputs
|
|
29153
|
+
? parseMappingStringArray(hostDirective.outputs)
|
|
29154
|
+
: null,
|
|
29155
|
+
};
|
|
29156
|
+
})
|
|
29157
|
+
: null;
|
|
29131
29158
|
return {
|
|
29132
29159
|
...facade,
|
|
29133
29160
|
typeArgumentCount: 0,
|
|
@@ -29143,10 +29170,18 @@ function convertDirectiveFacadeToMetadata(facade) {
|
|
|
29143
29170
|
providers: facade.providers != null ? new WrappedNodeExpr(facade.providers) : null,
|
|
29144
29171
|
viewQueries: facade.viewQueries.map(convertToR3QueryMetadata),
|
|
29145
29172
|
fullInheritance: false,
|
|
29146
|
-
hostDirectives
|
|
29173
|
+
hostDirectives,
|
|
29147
29174
|
};
|
|
29148
29175
|
}
|
|
29149
29176
|
function convertDeclareDirectiveFacadeToMetadata(declaration, typeSourceSpan) {
|
|
29177
|
+
const hostDirectives = declaration.hostDirectives?.length
|
|
29178
|
+
? declaration.hostDirectives.map((dir) => ({
|
|
29179
|
+
directive: wrapReference(dir.directive),
|
|
29180
|
+
isForwardReference: false,
|
|
29181
|
+
inputs: dir.inputs ? getHostDirectiveBindingMapping(dir.inputs) : null,
|
|
29182
|
+
outputs: dir.outputs ? getHostDirectiveBindingMapping(dir.outputs) : null,
|
|
29183
|
+
}))
|
|
29184
|
+
: null;
|
|
29150
29185
|
return {
|
|
29151
29186
|
name: declaration.type.name,
|
|
29152
29187
|
type: wrapReference(declaration.type),
|
|
@@ -29166,7 +29201,7 @@ function convertDeclareDirectiveFacadeToMetadata(declaration, typeSourceSpan) {
|
|
|
29166
29201
|
fullInheritance: false,
|
|
29167
29202
|
isStandalone: declaration.isStandalone ?? false,
|
|
29168
29203
|
isSignal: declaration.isSignal ?? false,
|
|
29169
|
-
hostDirectives
|
|
29204
|
+
hostDirectives,
|
|
29170
29205
|
};
|
|
29171
29206
|
}
|
|
29172
29207
|
function convertHostDeclarationToMetadata(host = {}) {
|
|
@@ -29180,25 +29215,17 @@ function convertHostDeclarationToMetadata(host = {}) {
|
|
|
29180
29215
|
},
|
|
29181
29216
|
};
|
|
29182
29217
|
}
|
|
29183
|
-
|
|
29184
|
-
|
|
29185
|
-
|
|
29186
|
-
|
|
29187
|
-
|
|
29188
|
-
|
|
29189
|
-
|
|
29190
|
-
|
|
29191
|
-
|
|
29192
|
-
}
|
|
29193
|
-
: {
|
|
29194
|
-
directive: wrapReference(hostDirective.directive),
|
|
29195
|
-
isForwardReference: false,
|
|
29196
|
-
inputs: hostDirective.inputs ? parseMappingStringArray(hostDirective.inputs) : null,
|
|
29197
|
-
outputs: hostDirective.outputs ? parseMappingStringArray(hostDirective.outputs) : null,
|
|
29198
|
-
};
|
|
29199
|
-
});
|
|
29218
|
+
/**
|
|
29219
|
+
* Parses a host directive mapping where each odd array key is the name of an input/output
|
|
29220
|
+
* and each even key is its public name, e.g. `['one', 'oneAlias', 'two', 'two']`.
|
|
29221
|
+
*/
|
|
29222
|
+
function getHostDirectiveBindingMapping(array) {
|
|
29223
|
+
let result = null;
|
|
29224
|
+
for (let i = 1; i < array.length; i += 2) {
|
|
29225
|
+
result = result || {};
|
|
29226
|
+
result[array[i - 1]] = array[i];
|
|
29200
29227
|
}
|
|
29201
|
-
return
|
|
29228
|
+
return result;
|
|
29202
29229
|
}
|
|
29203
29230
|
function convertOpaqueValuesToExpressions(obj) {
|
|
29204
29231
|
const result = {};
|
|
@@ -29521,7 +29548,7 @@ function publishFacade(global) {
|
|
|
29521
29548
|
* @description
|
|
29522
29549
|
* Entry point for all public APIs of the compiler package.
|
|
29523
29550
|
*/
|
|
29524
|
-
const VERSION = new Version('18.1.
|
|
29551
|
+
const VERSION = new Version('18.1.2');
|
|
29525
29552
|
|
|
29526
29553
|
class CompilerConfig {
|
|
29527
29554
|
constructor({ defaultEncapsulation = ViewEncapsulation.Emulated, preserveWhitespaces, strictInjectionParameters, } = {}) {
|
|
@@ -31159,7 +31186,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
|
|
|
31159
31186
|
function compileDeclareClassMetadata(metadata) {
|
|
31160
31187
|
const definitionMap = new DefinitionMap();
|
|
31161
31188
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
31162
|
-
definitionMap.set('version', literal('18.1.
|
|
31189
|
+
definitionMap.set('version', literal('18.1.2'));
|
|
31163
31190
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31164
31191
|
definitionMap.set('type', metadata.type);
|
|
31165
31192
|
definitionMap.set('decorators', metadata.decorators);
|
|
@@ -31177,7 +31204,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
|
|
|
31177
31204
|
callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? literal(null));
|
|
31178
31205
|
callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? literal(null));
|
|
31179
31206
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
|
|
31180
|
-
definitionMap.set('version', literal('18.1.
|
|
31207
|
+
definitionMap.set('version', literal('18.1.2'));
|
|
31181
31208
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31182
31209
|
definitionMap.set('type', metadata.type);
|
|
31183
31210
|
definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
|
|
@@ -31272,7 +31299,7 @@ function createDirectiveDefinitionMap(meta) {
|
|
|
31272
31299
|
const definitionMap = new DefinitionMap();
|
|
31273
31300
|
const minVersion = getMinimumVersionForPartialOutput(meta);
|
|
31274
31301
|
definitionMap.set('minVersion', literal(minVersion));
|
|
31275
|
-
definitionMap.set('version', literal('18.1.
|
|
31302
|
+
definitionMap.set('version', literal('18.1.2'));
|
|
31276
31303
|
// e.g. `type: MyDirective`
|
|
31277
31304
|
definitionMap.set('type', meta.type.value);
|
|
31278
31305
|
if (meta.isStandalone) {
|
|
@@ -31694,7 +31721,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
|
|
|
31694
31721
|
function compileDeclareFactoryFunction(meta) {
|
|
31695
31722
|
const definitionMap = new DefinitionMap();
|
|
31696
31723
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
31697
|
-
definitionMap.set('version', literal('18.1.
|
|
31724
|
+
definitionMap.set('version', literal('18.1.2'));
|
|
31698
31725
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31699
31726
|
definitionMap.set('type', meta.type.value);
|
|
31700
31727
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
@@ -31729,7 +31756,7 @@ function compileDeclareInjectableFromMetadata(meta) {
|
|
|
31729
31756
|
function createInjectableDefinitionMap(meta) {
|
|
31730
31757
|
const definitionMap = new DefinitionMap();
|
|
31731
31758
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
31732
|
-
definitionMap.set('version', literal('18.1.
|
|
31759
|
+
definitionMap.set('version', literal('18.1.2'));
|
|
31733
31760
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31734
31761
|
definitionMap.set('type', meta.type.value);
|
|
31735
31762
|
// Only generate providedIn property if it has a non-null value
|
|
@@ -31780,7 +31807,7 @@ function compileDeclareInjectorFromMetadata(meta) {
|
|
|
31780
31807
|
function createInjectorDefinitionMap(meta) {
|
|
31781
31808
|
const definitionMap = new DefinitionMap();
|
|
31782
31809
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
31783
|
-
definitionMap.set('version', literal('18.1.
|
|
31810
|
+
definitionMap.set('version', literal('18.1.2'));
|
|
31784
31811
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31785
31812
|
definitionMap.set('type', meta.type.value);
|
|
31786
31813
|
definitionMap.set('providers', meta.providers);
|
|
@@ -31813,7 +31840,7 @@ function createNgModuleDefinitionMap(meta) {
|
|
|
31813
31840
|
throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
|
|
31814
31841
|
}
|
|
31815
31842
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
31816
|
-
definitionMap.set('version', literal('18.1.
|
|
31843
|
+
definitionMap.set('version', literal('18.1.2'));
|
|
31817
31844
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31818
31845
|
definitionMap.set('type', meta.type.value);
|
|
31819
31846
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
@@ -31864,7 +31891,7 @@ function compileDeclarePipeFromMetadata(meta) {
|
|
|
31864
31891
|
function createPipeDefinitionMap(meta) {
|
|
31865
31892
|
const definitionMap = new DefinitionMap();
|
|
31866
31893
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
31867
|
-
definitionMap.set('version', literal('18.1.
|
|
31894
|
+
definitionMap.set('version', literal('18.1.2'));
|
|
31868
31895
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
31869
31896
|
// e.g. `type: MyPipe`
|
|
31870
31897
|
definitionMap.set('type', meta.type.value);
|