Skip to content

feat(compiler-cli): make NG8032 an error - #4

Closed
Flarette wants to merge 1 commit into
feat/ignored-bindingfrom
feat/ng8032-error
Closed

Flarette wants to merge 1 commit into
feat/ignored-bindingfrom
feat/ng8032-error

Conversation

@Flarette

@Flarette Flarette commented Nov 8, 2026

Copy link
Copy Markdown
Owner

Depends on #1. Review only the last commit; the first one is #1.

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.dev application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

After #1, a component whose selector matches <ng-container> or <ng-template> gets the NG8032
warning. The template still fails when it renders: dev mode throws an assertion, and production
mode throws a DOM HierarchyRequestError.

Issue Number: N/A (issue draft not posted yet)

What is the new behavior?

NG8032 is an error. It isn't configurable.

Does this PR introduce a breaking change?

  • Yes
  • No

A component whose selector matches <ng-container> or <ng-template> fails to compile. Such a
template already failed when it rendered; only a template that never renders the element, such as
one behind an @if that is always false, compiled and ran before.

Migration: use an element that matches the component's selector.

Other information

Report a component whose selector matches <ng-container> or
<ng-template> as an error. Neither element can host a component, so
the template fails when it renders: dev mode throws an assertion, and
production mode throws a DOM error.

BREAKING CHANGE: A component on <ng-container> or <ng-template> is
now an error

A component whose selector matches <ng-container> or <ng-template>
now fails to compile with NG8032. Such a template already failed when
it rendered. Use an element that matches the component's selector
instead.
@Flarette

Flarette commented Nov 8, 2026

Copy link
Copy Markdown
Owner Author

Superseded by the upstream PRs angular#71882, angular#71883, and angular#71884.

@Flarette Flarette closed this Nov 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant