mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Adds a schematic and tslint rule that automatically migrate the consumer from `Renderer` to `Renderer2`. Supports:
* Renaming imports.
* Renaming property and method argument types.
* Casting to `Renderer`.
* Mapping all of the methods from the `Renderer` to `Renderer2`.
Note that some of the `Renderer` methods don't map cleanly between renderers. In these cases the migration adds a helper function at the bottom of the file which ensures that we generate valid code with the same return value as before. E.g. here's what the migration for `createText` looks like.
Before:
```
class SomeComponent {
createAndAddText() {
const node = this._renderer.createText(this._element.nativeElement, 'hello');
node.textContent += ' world';
}
}
```
After:
```
class SomeComponent {
createAndAddText() {
const node = __rendererCreateTextHelper(this._renderer, this._element.nativeElement, 'hello');
node.textContent += ' world';
}
}
function __rendererCreateTextHelper(renderer: any, parent: any, value: any) {
const node = renderer.createText(value);
if (parent) {
renderer.appendChild(parent, node);
}
return node;
}
```
This PR resolves FW-1344.
PR Close #30936
24 lines
893 B
JSON
24 lines
893 B
JSON
{
|
|
"schematics": {
|
|
"migration-v8-move-document": {
|
|
"version": "8-beta",
|
|
"description": "Migrates DOCUMENT Injection token from platform-browser imports to common import",
|
|
"factory": "./migrations/move-document/index"
|
|
},
|
|
"migration-v8-static-queries": {
|
|
"version": "8-beta",
|
|
"description": "Migrates ViewChild and ContentChild to explicit query timing",
|
|
"factory": "./migrations/static-queries/index"
|
|
},
|
|
"migration-v8-template-local-variables": {
|
|
"version": "8-beta",
|
|
"description": "Warns developers if values are assigned to template variables",
|
|
"factory": "./migrations/template-var-assignment/index"
|
|
},
|
|
"migration-v9-renderer-to-renderer2": {
|
|
"version": "9-beta",
|
|
"description": "Migrates usages of Renderer to Renderer2",
|
|
"factory": "./migrations/renderer-to-renderer2/index"
|
|
}
|
|
}
|
|
}
|