Patch branch rebase of Renderer3 removal#46646
Closed
alxhub wants to merge 5 commits intoangular:14.0.xfrom
Closed
Patch branch rebase of Renderer3 removal#46646alxhub wants to merge 5 commits intoangular:14.0.xfrom
alxhub wants to merge 5 commits intoangular:14.0.xfrom
Conversation
Due to the restrictions of circular dependency checking, we need a separate internal interface for a renderer. We cannot use `Renderer2` as a type internally as even importing it as a type incurs a dependency on its implementation, which creates a major potential for circular dependencies. Previously this role was served by the `Renderer3` type. As we prepare to remove the `Renderer3` abstraction (the idea of using `document` as a differently-shaped renderer), this commit renames `ProceduralRenderer3` to the more generic term `Renderer`. `RendererFactory3` is also renamed to the more generic `RendererFactory` for consistency.
This commit migrates any remaining Angular tests which are using some form of Renderer3 interfaces. Instead, they're switched to Renderer2.
Previously, when instantiating a component, Angular would look in the DI hierarchy for `RendererFactory2`. Any DI tree which rolls up through an application injector (that is, one created with `BrowserModule`) should be able to provide this interface. If not found, Angular would switch to the experimental `Renderer3` mechanism. This switch was designed this way, because it allowed for the creation of experimental applications where `RendererFactory2` was not included in the bundle at all. In this commit, instead of automatically falling back on `Renderer3`-style rendering, an error is raised instead if `RendererFactory2` is missing from the DI hierarchy.
atscott
previously approved these changes
Jun 30, 2022
This commit removes the `Renderer3` experiment which attempted to use the real DOM API as Angular's renderer. As shown in the diff, having this experiment around added real code complexity to Angular that could not be removed by an optimizer. Since we no longer feel this experiment is worth continuing, we're removing the `Renderer3` concept and all supporting code.
This commit removes the experimental `renderComponent` operation, which implemented an alternative, lighter-weight bootstrapping option. This experiment is being discontinued as the path towards it being a supported production API was not clear. In particular, it lacked a clear roadmap for supporting Angular's change detection, particularly when consuming existing components.
a26bb1d to
a1b16e6
Compare
Contributor
|
This PR was merged into the repository by commit 1bd0b56. |
atscott
pushed a commit
that referenced
this pull request
Jun 30, 2022
…46646) Due to the restrictions of circular dependency checking, we need a separate internal interface for a renderer. We cannot use `Renderer2` as a type internally as even importing it as a type incurs a dependency on its implementation, which creates a major potential for circular dependencies. Previously this role was served by the `Renderer3` type. As we prepare to remove the `Renderer3` abstraction (the idea of using `document` as a differently-shaped renderer), this commit renames `ProceduralRenderer3` to the more generic term `Renderer`. `RendererFactory3` is also renamed to the more generic `RendererFactory` for consistency. PR Close #46646
atscott
pushed a commit
that referenced
this pull request
Jun 30, 2022
This commit migrates any remaining Angular tests which are using some form of Renderer3 interfaces. Instead, they're switched to Renderer2. PR Close #46646
atscott
pushed a commit
that referenced
this pull request
Jun 30, 2022
Previously, when instantiating a component, Angular would look in the DI hierarchy for `RendererFactory2`. Any DI tree which rolls up through an application injector (that is, one created with `BrowserModule`) should be able to provide this interface. If not found, Angular would switch to the experimental `Renderer3` mechanism. This switch was designed this way, because it allowed for the creation of experimental applications where `RendererFactory2` was not included in the bundle at all. In this commit, instead of automatically falling back on `Renderer3`-style rendering, an error is raised instead if `RendererFactory2` is missing from the DI hierarchy. PR Close #46646
atscott
pushed a commit
that referenced
this pull request
Jun 30, 2022
This commit removes the `Renderer3` experiment which attempted to use the real DOM API as Angular's renderer. As shown in the diff, having this experiment around added real code complexity to Angular that could not be removed by an optimizer. Since we no longer feel this experiment is worth continuing, we're removing the `Renderer3` concept and all supporting code. PR Close #46646
atscott
pushed a commit
that referenced
this pull request
Jun 30, 2022
This commit removes the experimental `renderComponent` operation, which implemented an alternative, lighter-weight bootstrapping option. This experiment is being discontinued as the path towards it being a supported production API was not clear. In particular, it lacked a clear roadmap for supporting Angular's change detection, particularly when consuming existing components. PR Close #46646
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.