angular-cn/packages/core/schematics/migrations/injectable-pipe
Paul Gschwendtner 349935a434 fix(core): migrations not always migrating all files (#30269)
In an Angular CLI project scenario where projects only reference
top-level source-files through the `tsconfig` `files` option, we currently
do not migrate referenced source-files. This can be fixed checking all
referenced source-files which aren't coming from an external library.

This is similar to how `tslint` determines project source-files.

PR Close #30269
2019-05-08 11:54:33 -07:00
..
angular feat(ivy): add injectable-pipe schematic (#29847) 2019-04-23 15:12:19 -07:00
google3 fix(ivy): injectable pipe schematic generating incorrect import statements (#30170) 2019-04-29 09:39:11 -07:00
BUILD.bazel feat(ivy): add injectable-pipe schematic (#29847) 2019-04-23 15:12:19 -07:00
README.md feat(ivy): add injectable-pipe schematic (#29847) 2019-04-23 15:12:19 -07:00
index.ts fix(core): migrations not always migrating all files (#30269) 2019-05-08 11:54:33 -07:00
util.ts fix(ivy): injectable pipe schematic generating incorrect import statements (#30170) 2019-04-29 09:39:11 -07:00

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 {}