angular/packages/compiler/src
Matthew Berry aad6ced0ef fix(compiler): support one additional level of nesting in :host()
Previously we supported one level of nested parentheses inside of a
`:host()` selector, e.g. `:host(:not(p))`. This caused a breakage in g3
when I migrated a selector from `:host:not(:has(p))` to
`:host(:not(:has(p)))`. This change adds support for just one more level
of nesting.

It'd be nice to move everything to a real CSS parser (or even update it
to count parentheses like I did with :host-context()), but I wasn't able
to get that to work in ~20 minutes and I'm focusing on other things at
the moment.

This change punts the problem until somebody tries to use just one more
level of nesting in a selector.

Fixes #64830

(cherry picked from commit 444143758e)
2025-11-06 18:53:47 +00:00
..
expression_parser fix(compiler): recover template literals with broken expressions (#64150) 2025-09-30 16:01:50 -04:00
i18n refactor(compiler): Remove the interpolation config (#64071) 2025-09-29 15:29:46 -04:00
ml_parser fix(compiler): correctly compile long numeric HTML entities (#64297) 2025-10-17 18:23:44 +00:00
output refactor(compiler): desambiguate and export RegularExpressionLiteralExpr 2025-10-29 13:45:20 -07:00
render3 refactor(core): add utility type for extracting the value of a custom control 2025-11-05 09:35:50 -08:00
schema fix(compiler): Add support for aria-invalid (#63748) 2025-09-15 18:41:16 +00:00
template/pipeline perf(forms): implement change detection for field control bindings 2025-11-04 16:11:33 -08:00
template_parser refactor(compiler): Remove the interpolation config (#64071) 2025-09-29 15:29:46 -04:00
assertions.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
chars.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
combined_visitor.ts refactor(compiler): parse options parameter on viewport triggers (#64130) 2025-10-09 05:32:20 -07:00
compiler.ts refactor(compiler): desambiguate and export RegularExpressionLiteralExpr 2025-10-29 13:45:20 -07:00
compiler_facade_interface.ts refactor(compiler): Remove the interpolation config (#64071) 2025-09-29 15:29:46 -04:00
config.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
constant_pool.ts refactor(compiler): desambiguate and export RegularExpressionLiteralExpr 2025-10-29 13:45:20 -07:00
core.ts feat(platform-browser): Add IsolatedShadowDom encapsulation method (#62723) 2025-08-06 16:48:37 +02:00
directive_matching.ts refactor(compiler): add more information to template binder (#60977) 2025-04-24 13:02:39 -07:00
injectable_compiler_2.ts refactor(compiler): avoid duplication between FactoryTarget type (#61472) 2025-05-20 10:00:43 +00:00
jit_compiler_facade.ts refactor(compiler): Remove the interpolation config (#64071) 2025-09-29 15:29:46 -04:00
parse_util.ts refactor(compiler): ensure compiler passes closure conformance checks (#62500) 2025-07-07 16:14:16 +00:00
resource_loader.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
shadow_css.ts fix(compiler): support one additional level of nesting in :host() 2025-11-06 18:53:47 +00:00
style_url_resolver.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
util.ts refactor(compiler): remove unused code (#61668) 2025-05-26 12:21:09 +00:00
version.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00