Go to file
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
.buildkite ci: update buildkite provision instructions (#28273) 2019-02-07 12:36:27 -08:00
.circleci ci: run saucelabs unit tests as cronjob (#28787) 2019-02-20 16:45:59 -08:00
.github ci: exclude **/third_party/** from google3 check (#28870) 2019-02-20 09:17:20 -08:00
.vscode build: show no warning for large git repos (#28055) 2019-02-12 20:58:27 -08:00
aio fix(docs-infra): prevent extra space at the bottom of the page in Chrome (#28864) 2019-02-20 09:20:37 -08:00
docs docs: clarify process surrounding merge label (#28837) 2019-02-19 12:43:20 -08:00
integration feat(ivy): convert [ngStyle] and [ngClass] to use ivy styling bindings (#28711) 2019-02-20 13:46:15 -08:00
modules build(bazel): do not build rxjs from source under Bazel (#28720) 2019-02-19 16:28:14 -08:00
packages fix(ivy): unable to import shim factory files on case-insensitive platforms (#28831) 2019-02-20 18:26:05 -08:00
scripts build: update deps in ./scripts/release/post-check 2019-02-20 13:51:31 -08:00
third_party build: use vendored yarn under Bazel (#28839) 2019-02-20 09:19:03 -08:00
tools test(ivy): turn on more passing Material tests (#28876) 2019-02-20 16:49:00 -08:00
.bazelignore build: update to rules_typescript 0.23.2 and rules_nodejs 0.16.8 (#28532) 2019-02-05 16:55:43 -05:00
.bazelrc build(bazel): update to bazel 0.22.0 and turn on --incompatible_strict_action_env flag (#28404) 2019-01-28 11:48:41 -08:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig build: use https link to editorconfig.org in .editorconfig (#27664) 2018-12-18 09:30:09 -08:00
.gitattributes chore: force lf EOL for ts files (#11143) 2016-08-29 12:41:58 -07:00
.gitignore build: update and unify gitignore (#28316) 2019-01-23 10:55:21 -08:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.nvmrc build: update .nvmrc file to correct node version (#25992) 2018-09-18 13:11:58 -07:00
BUILD.bazel build: Add .bzl/BUILD files to @angular/bazel package (#28769) 2019-02-19 17:55:57 -08:00
CHANGELOG.md release: cut the v8.0.0-beta.5 release 2019-02-20 13:24:02 -08:00
CODE_OF_CONDUCT.md docs: fix community tab in GitHub by copying CoC 2018-02-27 19:02:30 -08:00
CONTRIBUTING.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00
LICENSE build: bump year (#27880) 2019-01-11 11:15:59 -08:00
README.md docs: update link for CircleCI badge to point workflow 2019-02-07 14:14:59 -08:00
WORKSPACE build: use vendored yarn under Bazel (#28839) 2019-02-20 09:19:03 -08:00
browser-providers.conf.js build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00
browser_repositories.bzl build(bazel): rollback to chromium 69 (latest version that still works on OSX) (#28698) 2019-02-13 19:18:27 -08:00
gulpfile.js build: `gulp format` only changed lines by default (#28411) 2019-02-04 16:49:16 -05:00
index.bzl style: format .bzl files with buildifier (#23544) 2018-08-08 13:12:07 -07:00
karma-js.conf.js ci: move local and saucelabs unit tests to circle (#27937) 2019-01-07 15:35:09 -08:00
package.json release: cut the v8.0.0-beta.5 release 2019-02-20 13:24:02 -08:00
protractor-perf.conf.js build: remove legacy e2e tests job (#28645) 2019-02-13 12:15:02 -08:00
renovate.json ci: add renovate configuration (#28121) 2019-02-19 11:09:01 -08:00
shims_for_IE.js Revert "refactor: add license header to JS files & format files (#12035)" 2016-10-04 14:06:41 -07:00
test-events.js fix(platform-browser): run BLACK_LISTED_EVENTS outside of ngZone (#18993) 2017-09-05 15:33:22 -05:00
test-main.js refactor(core): remove withBody from public testing API (#25171) 2018-07-31 15:09:32 -07:00
tslint.json build: remove unused rollup.config.js files (#28646) 2019-02-14 19:28:08 +00:00
yarn.lock test(bazel): Upgrade CLI dependencies for schematics test (#28872) 2019-02-20 10:55:29 -08:00
yarn.lock.readme.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00

README.md

CircleCI BrowserStack Status Join the chat at https://gitter.im/angular/angular npm version

Angular

Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.

Quickstart

Get started in 5 minutes.

Changelog

Learn about the latest improvements.

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.