angular-docs-cn/packages/compiler-cli/test
Paul Gschwendtner 58436fd81a fix(ivy): unable to import shim factory files on case-insensitive platforms (#28831)
This change is kind of similar to #27466, but instead of ensuring that
these shims can be generated, we also need to make sure that developers
are able to also use the factory shims like with `ngc`.

This issue is now surfacing because we have various old examples which
are now also built with `ngtsc`  (due to the bazel migration). On case insensitive
platforms (e.g. windows) these examples cannot be built because ngtsc fails
the app imports a generated shim file (such as the factory shim files).

This is because the `GeneratedShimsHostWrapper` TypeScript host uses
the `getCanonicalFileName` method in order to check whether a given
file/module exists in the generator file maps. e.g.

```
// Generator Map:
'C:/users/paul/_bazel_paul/lm3s4mgv/execroot/angular/packages/core/index.ngfactory.ts' =>
'C:/users/paul/_bazel_paul/lm3s4mgv/execroot/angular/packages/core/index.ts',

// Path passed into `fileExists`
C:/users/paul/_bazel_paul/lm3s4mgv/execroot/angular/packages/core/index.ngfactory.ts

// After getCanonicalFileName (notice the **lower-case drive name**)
c:/users/paul/_bazel_paul/lm3s4mgv/execroot/angular/packages/core/index.ngfactory.ts
```

As seen above, the generator map does not use the canonical file names, as well as
TypeScript internally does not pass around canonical file names. We can fix this by removing
the manual call to `getCanonicalFileName` and just following TypeScript internal-semantics.

PR Close #28831
2019-02-20 18:26:05 -08:00
..
compliance fix(ivy): support static ContentChild queries (#28811) 2019-02-19 15:29:01 -08:00
diagnostics refactor(compiler): use `options` argument for parsers (#28055) 2019-02-12 20:58:27 -08:00
metadata fix(compiler-cli): incorrect bundled metadata for static class member call expressions (#28762) 2019-02-19 12:53:18 -08:00
ngcc build: support running compiler-cli tests on windows (#28352) 2019-02-05 14:31:10 -05:00
ngtsc fix(ivy): unable to import shim factory files on case-insensitive platforms (#28831) 2019-02-20 18:26:05 -08:00
transformers build: fix failing compiler-cli tests on windows (#28352) 2019-02-05 14:31:10 -05:00
BUILD.bazel build(bazel): do not build rxjs from source under Bazel (#28720) 2019-02-19 16:28:14 -08:00
extract_i18n_spec.ts build: remove unused "test.sh" leftover code in compiler-cli (#28352) 2019-02-05 14:31:10 -05:00
mocks.ts fix(compiler-cli): Use typescript to resolve modules for metadata (#22856) 2018-07-10 11:11:48 -07:00
ngc_spec.ts feat(compiler-cli): make enableIvy ngtsc/true equivalent (#28616) 2019-02-19 12:28:44 -08:00
ngtools_api_spec.ts feat(compiler-cli): make enableIvy ngtsc/true equivalent (#28616) 2019-02-19 12:28:44 -08:00
perform_compile_spec.ts feat(compiler-cli): add support to extend `angularCompilerOptions` (#22717) 2018-09-19 16:17:28 -07:00
perform_watch_spec.ts build: fix failing compiler-cli tests on windows (#28352) 2019-02-05 14:31:10 -05:00
runfile_helpers.ts build: support running compiler-cli tests on windows (#28352) 2019-02-05 14:31:10 -05:00
test_support.ts test(ivy): test listing lazy routes to different root directories (#28542) 2019-02-11 16:23:30 -08:00