@angular/compiler 17.0.6 → 17.0.8

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.
Files changed (46) hide show
  1. package/esm2022/src/constant_pool.mjs +5 -3
  2. package/esm2022/src/ml_parser/tags.mjs +8 -3
  3. package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
  4. package/esm2022/src/render3/partial/directive.mjs +1 -1
  5. package/esm2022/src/render3/partial/factory.mjs +1 -1
  6. package/esm2022/src/render3/partial/injectable.mjs +1 -1
  7. package/esm2022/src/render3/partial/injector.mjs +1 -1
  8. package/esm2022/src/render3/partial/ng_module.mjs +1 -1
  9. package/esm2022/src/render3/partial/pipe.mjs +1 -1
  10. package/esm2022/src/render3/view/compiler.mjs +2 -1
  11. package/esm2022/src/render3/view/template.mjs +7 -7
  12. package/esm2022/src/template/pipeline/ir/src/enums.mjs +15 -19
  13. package/esm2022/src/template/pipeline/ir/src/expression.mjs +16 -20
  14. package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +39 -13
  15. package/esm2022/src/template/pipeline/ir/src/ops/host.mjs +4 -2
  16. package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +18 -10
  17. package/esm2022/src/template/pipeline/src/emit.mjs +6 -6
  18. package/esm2022/src/template/pipeline/src/ingest.mjs +266 -178
  19. package/esm2022/src/template/pipeline/src/instruction.mjs +14 -14
  20. package/esm2022/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs +40 -56
  21. package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +19 -22
  22. package/esm2022/src/template/pipeline/src/phases/binding_specialization.mjs +4 -4
  23. package/esm2022/src/template/pipeline/src/phases/const_collection.mjs +37 -13
  24. package/esm2022/src/template/pipeline/src/phases/convert_i18n_bindings.mjs +2 -2
  25. package/esm2022/src/template/pipeline/src/phases/create_defer_deps_fns.mjs +3 -2
  26. package/esm2022/src/template/pipeline/src/phases/create_i18n_contexts.mjs +63 -29
  27. package/esm2022/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs +40 -0
  28. package/esm2022/src/template/pipeline/src/phases/extract_i18n_messages.mjs +52 -49
  29. package/esm2022/src/template/pipeline/src/phases/generate_variables.mjs +7 -1
  30. package/esm2022/src/template/pipeline/src/phases/host_style_property_parsing.mjs +2 -2
  31. package/esm2022/src/template/pipeline/src/phases/i18n_const_collection.mjs +11 -8
  32. package/esm2022/src/template/pipeline/src/phases/i18n_text_extraction.mjs +22 -3
  33. package/esm2022/src/template/pipeline/src/phases/parse_extracted_styles.mjs +22 -3
  34. package/esm2022/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs +27 -12
  35. package/esm2022/src/template/pipeline/src/phases/reify.mjs +18 -21
  36. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs +60 -14
  37. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs +23 -10
  38. package/esm2022/src/template/pipeline/src/phases/resolve_sanitizers.mjs +78 -14
  39. package/esm2022/src/template/pipeline/src/phases/slot_allocation.mjs +3 -1
  40. package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +10 -1
  41. package/esm2022/src/version.mjs +1 -1
  42. package/fesm2022/compiler.mjs +894 -561
  43. package/fesm2022/compiler.mjs.map +1 -1
  44. package/index.d.ts +3 -3
  45. package/package.json +2 -2
  46. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_icu_placeholders.mjs +0 -62
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.6
2
+ * @license Angular v17.0.8
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -804,7 +804,7 @@ export declare class ConstantPool {
804
804
  literalFactory: outputAst.Expression;
805
805
  literalFactoryArguments: outputAst.Expression[];
806
806
  };
807
- getSharedFunctionReference(fn: outputAst.FunctionExpr | outputAst.ArrowFunctionExpr, prefix: string): outputAst.Expression;
807
+ getSharedFunctionReference(fn: outputAst.FunctionExpr | outputAst.ArrowFunctionExpr, prefix: string, useUniqueName?: boolean): outputAst.Expression;
808
808
  private _getLiteralFactory;
809
809
  /**
810
810
  * Produce a unique name.
@@ -4605,7 +4605,7 @@ export declare class SplitInterpolation {
4605
4605
  constructor(strings: InterpolationPiece[], expressions: InterpolationPiece[], offsets: number[]);
4606
4606
  }
4607
4607
 
4608
- export declare function splitNsName(elementName: string): [string | null, string];
4608
+ export declare function splitNsName(elementName: string, fatal?: boolean): [string | null, string];
4609
4609
 
4610
4610
  export declare abstract class Statement {
4611
4611
  modifiers: StmtModifier;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler",
3
- "version": "17.0.6",
3
+ "version": "17.0.8",
4
4
  "description": "Angular - the compiler library",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -11,7 +11,7 @@
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "peerDependencies": {
14
- "@angular/core": "17.0.6"
14
+ "@angular/core": "17.0.8"
15
15
  },
16
16
  "peerDependenciesMeta": {
17
17
  "@angular/core": {
@@ -1,62 +0,0 @@
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.io/license
7
- */
8
- import * as i18n from '../../../../i18n/i18n_ast';
9
- import * as ir from '../../ir';
10
- /**
11
- * Resolves placeholders for element tags inside of an ICU.
12
- */
13
- export function resolveI18nIcuPlaceholders(job) {
14
- for (const unit of job.units) {
15
- for (const op of unit.create) {
16
- if (op.kind === ir.OpKind.I18nContext && op.contextKind === ir.I18nContextKind.Icu) {
17
- for (const node of op.message.nodes) {
18
- node.visit(new ResolveIcuPlaceholdersVisitor(op.postprocessingParams));
19
- }
20
- }
21
- }
22
- }
23
- }
24
- /**
25
- * Visitor for i18n AST that resolves ICU params into the given map.
26
- */
27
- class ResolveIcuPlaceholdersVisitor extends i18n.RecurseVisitor {
28
- constructor(params) {
29
- super();
30
- this.params = params;
31
- }
32
- visitContainerPlaceholder(placeholder) {
33
- // Add the start and end source span for container placeholders. These need to be recorded for
34
- // elements inside ICUs. The slots for the nodes were recorded separately under the i18n
35
- // block's context as part of the `resolveI18nElementPlaceholders` phase.
36
- if (placeholder.startName && placeholder.startSourceSpan &&
37
- !this.params.has(placeholder.startName)) {
38
- this.params.set(placeholder.startName, [{
39
- value: placeholder.startSourceSpan?.toString(),
40
- subTemplateIndex: null,
41
- flags: ir.I18nParamValueFlags.None
42
- }]);
43
- }
44
- if (placeholder.closeName && placeholder.endSourceSpan &&
45
- !this.params.has(placeholder.closeName)) {
46
- this.params.set(placeholder.closeName, [{
47
- value: placeholder.endSourceSpan?.toString(),
48
- subTemplateIndex: null,
49
- flags: ir.I18nParamValueFlags.None
50
- }]);
51
- }
52
- }
53
- visitTagPlaceholder(placeholder) {
54
- super.visitTagPlaceholder(placeholder);
55
- this.visitContainerPlaceholder(placeholder);
56
- }
57
- visitBlockPlaceholder(placeholder) {
58
- super.visitBlockPlaceholder(placeholder);
59
- this.visitContainerPlaceholder(placeholder);
60
- }
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZV9pMThuX2ljdV9wbGFjZWhvbGRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL3BoYXNlcy9yZXNvbHZlX2kxOG5faWN1X3BsYWNlaG9sZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssSUFBSSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRy9COztHQUVHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEdBQW1CO0lBQzVELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtRQUM1QixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEtBQUssRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xGLEtBQUssTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO2lCQUN4RTthQUNGO1NBQ0Y7S0FDRjtBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sNkJBQThCLFNBQVEsSUFBSSxDQUFDLGNBQWM7SUFDN0QsWUFBNkIsTUFBd0M7UUFDbkUsS0FBSyxFQUFFLENBQUM7UUFEbUIsV0FBTSxHQUFOLE1BQU0sQ0FBa0M7SUFFckUsQ0FBQztJQUVPLHlCQUF5QixDQUFDLFdBQXNEO1FBQ3RGLDhGQUE4RjtRQUM5Rix3RkFBd0Y7UUFDeEYseUVBQXlFO1FBQ3pFLElBQUksV0FBVyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUMsZUFBZTtZQUNwRCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3RCLEtBQUssRUFBRSxXQUFXLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRTtvQkFDOUMsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJO2lCQUNuQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELElBQUksV0FBVyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUMsYUFBYTtZQUNsRCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3RCLEtBQUssRUFBRSxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRTtvQkFDNUMsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJO2lCQUNuQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFUSxtQkFBbUIsQ0FBQyxXQUFnQztRQUMzRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUSxxQkFBcUIsQ0FBQyxXQUFrQztRQUMvRCxLQUFLLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBpMThuIGZyb20gJy4uLy4uLy4uLy4uL2kxOG4vaTE4bl9hc3QnO1xuaW1wb3J0ICogYXMgaXIgZnJvbSAnLi4vLi4vaXInO1xuaW1wb3J0IHtDb21waWxhdGlvbkpvYn0gZnJvbSAnLi4vY29tcGlsYXRpb24nO1xuXG4vKipcbiAqIFJlc29sdmVzIHBsYWNlaG9sZGVycyBmb3IgZWxlbWVudCB0YWdzIGluc2lkZSBvZiBhbiBJQ1UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlSTE4bkljdVBsYWNlaG9sZGVycyhqb2I6IENvbXBpbGF0aW9uSm9iKSB7XG4gIGZvciAoY29uc3QgdW5pdCBvZiBqb2IudW5pdHMpIHtcbiAgICBmb3IgKGNvbnN0IG9wIG9mIHVuaXQuY3JlYXRlKSB7XG4gICAgICBpZiAob3Aua2luZCA9PT0gaXIuT3BLaW5kLkkxOG5Db250ZXh0ICYmIG9wLmNvbnRleHRLaW5kID09PSBpci5JMThuQ29udGV4dEtpbmQuSWN1KSB7XG4gICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBvcC5tZXNzYWdlLm5vZGVzKSB7XG4gICAgICAgICAgbm9kZS52aXNpdChuZXcgUmVzb2x2ZUljdVBsYWNlaG9sZGVyc1Zpc2l0b3Iob3AucG9zdHByb2Nlc3NpbmdQYXJhbXMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZpc2l0b3IgZm9yIGkxOG4gQVNUIHRoYXQgcmVzb2x2ZXMgSUNVIHBhcmFtcyBpbnRvIHRoZSBnaXZlbiBtYXAuXG4gKi9cbmNsYXNzIFJlc29sdmVJY3VQbGFjZWhvbGRlcnNWaXNpdG9yIGV4dGVuZHMgaTE4bi5SZWN1cnNlVmlzaXRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiBNYXA8c3RyaW5nLCBpci5JMThuUGFyYW1WYWx1ZVtdPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcml2YXRlIHZpc2l0Q29udGFpbmVyUGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IGkxOG4uVGFnUGxhY2Vob2xkZXJ8aTE4bi5CbG9ja1BsYWNlaG9sZGVyKSB7XG4gICAgLy8gQWRkIHRoZSBzdGFydCBhbmQgZW5kIHNvdXJjZSBzcGFuIGZvciBjb250YWluZXIgcGxhY2Vob2xkZXJzLiBUaGVzZSBuZWVkIHRvIGJlIHJlY29yZGVkIGZvclxuICAgIC8vIGVsZW1lbnRzIGluc2lkZSBJQ1VzLiBUaGUgc2xvdHMgZm9yIHRoZSBub2RlcyB3ZXJlIHJlY29yZGVkIHNlcGFyYXRlbHkgdW5kZXIgdGhlIGkxOG5cbiAgICAvLyBibG9jaydzIGNvbnRleHQgYXMgcGFydCBvZiB0aGUgYHJlc29sdmVJMThuRWxlbWVudFBsYWNlaG9sZGVyc2AgcGhhc2UuXG4gICAgaWYgKHBsYWNlaG9sZGVyLnN0YXJ0TmFtZSAmJiBwbGFjZWhvbGRlci5zdGFydFNvdXJjZVNwYW4gJiZcbiAgICAgICAgIXRoaXMucGFyYW1zLmhhcyhwbGFjZWhvbGRlci5zdGFydE5hbWUpKSB7XG4gICAgICB0aGlzLnBhcmFtcy5zZXQocGxhY2Vob2xkZXIuc3RhcnROYW1lLCBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBsYWNlaG9sZGVyLnN0YXJ0U291cmNlU3Bhbj8udG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YlRlbXBsYXRlSW5kZXg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGFnczogaXIuSTE4blBhcmFtVmFsdWVGbGFncy5Ob25lXG4gICAgICAgICAgICAgICAgICAgICAgfV0pO1xuICAgIH1cbiAgICBpZiAocGxhY2Vob2xkZXIuY2xvc2VOYW1lICYmIHBsYWNlaG9sZGVyLmVuZFNvdXJjZVNwYW4gJiZcbiAgICAgICAgIXRoaXMucGFyYW1zLmhhcyhwbGFjZWhvbGRlci5jbG9zZU5hbWUpKSB7XG4gICAgICB0aGlzLnBhcmFtcy5zZXQocGxhY2Vob2xkZXIuY2xvc2VOYW1lLCBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBsYWNlaG9sZGVyLmVuZFNvdXJjZVNwYW4/LnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJUZW1wbGF0ZUluZGV4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M6IGlyLkkxOG5QYXJhbVZhbHVlRmxhZ3MuTm9uZVxuICAgICAgICAgICAgICAgICAgICAgIH1dKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSB2aXNpdFRhZ1BsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBpMThuLlRhZ1BsYWNlaG9sZGVyKSB7XG4gICAgc3VwZXIudmlzaXRUYWdQbGFjZWhvbGRlcihwbGFjZWhvbGRlcik7XG4gICAgdGhpcy52aXNpdENvbnRhaW5lclBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHZpc2l0QmxvY2tQbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogaTE4bi5CbG9ja1BsYWNlaG9sZGVyKSB7XG4gICAgc3VwZXIudmlzaXRCbG9ja1BsYWNlaG9sZGVyKHBsYWNlaG9sZGVyKTtcbiAgICB0aGlzLnZpc2l0Q29udGFpbmVyUGxhY2Vob2xkZXIocGxhY2Vob2xkZXIpO1xuICB9XG59XG4iXX0=