Skip to content

Conversation

@JoostK
Copy link
Member

@JoostK JoostK commented Aug 7, 2024

…ked` extended diagnostic

This commit addresses a performance bottleneck in the interpolatedSignalNotInvoked extended diagnostic by querying directive metadata instead of consulting the type-checker to determine if a property binding corresponds with an input.

Fixes #57287

…ked` extended diagnostic

This commit addresses a performance bottleneck in the `interpolatedSignalNotInvoked` extended
diagnostic by querying directive metadata instead of consulting the type-checker to determine if
a property binding corresponds with an input.

Fixes angular#57287
@JoostK JoostK added area: performance Issues related to performance action: review The PR is still awaiting reviews from at least one requested reviewer target: patch This PR is targeted for the next patch release area: compiler Issues related to `ngc`, Angular's template compiler compiler: extended diagnostics labels Aug 7, 2024
@ngbot ngbot bot added this to the Backlog milestone Aug 7, 2024
@alxhub alxhub added action: merge The PR is ready for merge by the caretaker and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels Aug 7, 2024
thePunderWoman pushed a commit that referenced this pull request Aug 7, 2024
…ked` extended diagnostic (#57291)

This commit addresses a performance bottleneck in the `interpolatedSignalNotInvoked` extended
diagnostic by querying directive metadata instead of consulting the type-checker to determine if
a property binding corresponds with an input.

Fixes #57287

PR Close #57291
@thePunderWoman
Copy link
Contributor

This PR was merged into the repository by commit 0b1dd39.

The changes were merged into the following branches: main, 18.1.x

JoostK added a commit to JoostK/angular that referenced this pull request Aug 11, 2024
…voked` extended diagnostic

A prior fix in angular#57291 has introduced the potential for false negatives, as the used directives
that were checked can be present anywhere in the template, not necessarily on the current element
that is being checked. Fixing this requires reshuffling the check's logic a bit, as the extended
diagnostics infrastructure does not provide access to ancestor nodes, nor do the AST nodes
themselves.

The performance regression that was fixed in angular#57291 doesn't reappear with this change, although
it may affect performance slightly as potentially more bindings may end up being checked.
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 7, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

action: merge The PR is ready for merge by the caretaker area: compiler Issues related to `ngc`, Angular's template compiler area: performance Issues related to performance compiler: extended diagnostics target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Angular 18.1.2 (core/cli) build 4 to 6 times slower then Angular 17.3.12 (core)/17.3.8(cli)

4 participants