This commit adds support for template type-checking a pipe binding which previously was not handled by the type-checking engine. In compatibility mode, the arguments to transform() are not checked and the type returned by a pipe is 'any'. In full type-checking mode, the transform() method's type signature is used to check the pipe usage and infer the return type of the pipe. Testing strategy: TCB tests included. PR Close #29698
fake_core is a library designed to expose some of the same symbols as @angular/core, without
requiring compilation of the whole of @angular/core. This enables unit tests for the compiler to
be written without incurring long rebuilds for every change.
- @angular/coreis compiled with- @angular/compiler-cli, and therefore has an implicit dependency on it. Therefore core must be rebuilt if the compiler changes.
- Tests for the compiler which intend to build code that depends on @angular/coremust have a data dependency on@angular/core. Therefore core must be built to run the compiler tests, and thus rebuilt if the compiler changes.
This rebuild cycle is expensive and slow. fake_core avoids this by exposing a subset of the
@angular/core API, which enables applications to be built by the ngtsc compiler without
needing a full version of core present at compile time.