Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf(core): make IterableDiffers and KeyValueDiffers tree-shakable #45094

Conversation

AndrewKushnir
Copy link
Contributor

This commit removed references to the IterableDiffers and KeyValueDiffers classes from the ApplicationModule, which effectively make them tree-shakable. Both classes have prov static field with the right setup, so they'll be properly initialized when referenced.

Note: there are other providers from the ApplicationModule that we can make tree-shakable and I'll create followup PR(s) to take care of that incrementally.

PR Type

What kind of change does this PR introduce?

  • Other... Please describe: Performance improvement

Does this PR introduce a breaking change?

  • Yes
  • No

@ngbot ngbot bot modified the milestone: Backlog Feb 15, 2022
This commit removed references to the `IterableDiffers` and `KeyValueDiffers` classes from the `ApplicationModule`, which effectively make them tree-shakable. Both classes have `prov` static field with the right setup, so they'll be properly initialized when referenced.
@AndrewKushnir
Copy link
Contributor Author

Presubmit.

@AndrewKushnir AndrewKushnir added 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 and removed state: WIP labels Feb 15, 2022
@AndrewKushnir AndrewKushnir marked this pull request as ready for review February 15, 2022 20:55
Copy link
Contributor

@jessicajaniuk jessicajaniuk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🍪

reviewed-for: size-tracking

@pullapprove pullapprove bot requested a review from jelbourn February 15, 2022 21:01
@@ -3,7 +3,7 @@
"master": {
"uncompressed": {
"runtime": 1083,
"main": 139416,
"main": 127944,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! 🥳

@pullapprove pullapprove bot requested a review from atscott February 15, 2022 21:17
Copy link
Contributor

@atscott atscott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reviewed-for: size-tracking

@jessicajaniuk jessicajaniuk 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 action: merge The PR is ready for merge by the caretaker labels Feb 16, 2022
@jessicajaniuk jessicajaniuk added action: review The PR is still awaiting reviews from at least one requested reviewer 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 Feb 16, 2022
@alxhub alxhub added target: minor This PR is targeted for the next minor release and removed target: patch This PR is targeted for the next patch release labels Feb 16, 2022
@alxhub
Copy link
Member

alxhub commented Feb 16, 2022

Note: conflicts with 13.2.x.

@alxhub
Copy link
Member

alxhub commented Feb 16, 2022

This PR was merged into the repository by commit 45d98e7.

@alxhub alxhub closed this in 45d98e7 Feb 16, 2022
AndrewKushnir added a commit to AndrewKushnir/angular that referenced this pull request Feb 16, 2022
angular#45094)

This commit removed references to the `IterableDiffers` and `KeyValueDiffers` classes from the `ApplicationModule`, which effectively make them tree-shakable. Both classes have `prov` static field with the right setup, so they'll be properly initialized when referenced.

PR Close angular#45094
alxhub pushed a commit that referenced this pull request Feb 18, 2022
#45094) (#45115)

This commit removed references to the `IterableDiffers` and `KeyValueDiffers` classes from the `ApplicationModule`, which effectively make them tree-shakable. Both classes have `prov` static field with the right setup, so they'll be properly initialized when referenced.

PR Close #45094

PR Close #45115
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Mar 8, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@angular/animations](https://github.com/angular/angular) | dependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2fanimations/13.2.3/13.2.4) |
| [@angular/common](https://github.com/angular/angular) | dependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2fcommon/13.2.3/13.2.4) |
| [@angular/compiler](https://github.com/angular/angular) | dependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2fcompiler/13.2.3/13.2.4) |
| [@angular/compiler-cli](https://github.com/angular/angular) | devDependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2fcompiler-cli/13.2.3/13.2.4) |
| [@angular/core](https://github.com/angular/angular) | dependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2fcore/13.2.3/13.2.4) |
| [@angular/forms](https://github.com/angular/angular) | dependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2fforms/13.2.3/13.2.4) |
| [@angular/platform-browser](https://github.com/angular/angular) | dependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser/13.2.3/13.2.4) |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | dependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser-dynamic/13.2.3/13.2.4) |
| [@angular/router](https://github.com/angular/angular) | dependencies | patch | [`13.2.3` -> `13.2.4`](https://renovatebot.com/diffs/npm/@angular%2frouter/13.2.3/13.2.4) |

---

### Release Notes

<details>
<summary>angular/angular</summary>

### [`v13.2.4`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#&#8203;1324-2022-02-23)

[Compare Source](angular/angular@13.2.3...13.2.4)

##### animations

| Commit | Type | Description |
| -- | -- | -- |
| [1a4b489692](angular/angular@1a4b489) | perf | improve algorithm to balance animation namespaces ([#&#8203;45113](angular/angular#45113)) |

##### core

| Commit | Type | Description |
| -- | -- | -- |
| [cbd23ee0de](angular/angular@cbd23ee) | perf | make `IterableDiffers` and `KeyValueDiffers` tree-shakable ([#&#8203;45094](angular/angular#45094)) ([#&#8203;45115](angular/angular#45115)) |

#### Special Thanks

Alan Cohen, AlirezaEbrahimkhani, Andrew Kushnir, Daniele Maltese, David Wolf, JoostK, Paul Gschwendtner, dario-piotrowicz and manuelkroiss

<!-- CHANGELOG SPLIT MARKER -->

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1189
Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
@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 Mar 19, 2022
josmar-crwdstffng pushed a commit to josmar-crwdstffng/angular that referenced this pull request Apr 8, 2022
angular#45094)

This commit removed references to the `IterableDiffers` and `KeyValueDiffers` classes from the `ApplicationModule`, which effectively make them tree-shakable. Both classes have `prov` static field with the right setup, so they'll be properly initialized when referenced.

PR Close angular#45094
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: core Issues related to the framework runtime core: performance cross-cutting: tree-shaking target: minor This PR is targeted for the next minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants