80394ce08b
fix(@schematics/angular): TypeScript related migrations should cater for BOM In the CLI `UpdateRecorder` methods such as `insertLeft`, `remove` etc.. accepts positions which are not offset by a BOM. This is because when a file has a BOM a different recorder will be used https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/schematics/src/tree/recorder.ts#L72 which caters for an addition offset/delta. The main reason for this is that when a developer is writing a schematic they shouldn't need to compute the offset based if a file has a BOM or not and is handled out of the box. Example ```ts recorder.insertLeft(5, 'true'); ``` However this is unfortunate in the case if a ts SourceFile is used and one uses `getWidth` and `getStart` method they will already be offset by 1, which at the end it results in a double offset and hence the problem. Fixes #30713 PR Close #30719 |
||
---|---|---|
.. | ||
angular | ||
google3 | ||
BUILD.bazel | ||
README.md | ||
index.ts | ||
util.ts |
README.md
Injectable annotation on pipes
In ViewEngine it was possible to inject a class that was annotated as a Pipe
, however this no
longer works in Ivy if the class also doesn't have the Injectable
decorator. This migration
adds Injectable
automatically to all Pipe
classes.
Before
import { Pipe } from '@angular/core';
@Pipe({ name: 'myPipe' })
class MyPipe {}
After
import { Pipe, Injectable } from '@angular/core';
@Injectable()
@Pipe({ name: 'myPipe' })
class MyPipe {}