angular/packages/compiler-cli/ngcc/src/host
Pete Bacon Darwin 822b838fbc fix(ngcc): ensure that "inline exports" can be interpreted correctly (#39267)
Previously, inline exports of the form `exports.foo = <implementation>;` were
being interpreted (by the ngtsc `PartialInterpeter`) as `Reference` objects.
This is not what is desired since it prevents the value of the export
from being unpacked, such as when analyzing `NgModule` declarations:

```
exports.directives = [Directive1, Directive2];

@NgImport({declarations: [exports.directives]})
class AppModule {}
```

In this example the interpreter would think that `exports.directives`
was a reference rather than an array that needs to be unpacked.

This bug was picked up by the ngcc-validation repository. See
https://github.com/angular/ngcc-validation/pull/1990 and
https://circleci.com/gh/angular/ngcc-validation/17130

PR Close #39267
2020-10-14 14:11:45 -07:00
..
commonjs_host.ts fix(ngcc): ensure that "inline exports" can be interpreted correctly (#39267) 2020-10-14 14:11:45 -07:00
commonjs_umd_utils.ts fix(ngcc): ensure that "inline exports" can be interpreted correctly (#39267) 2020-10-14 14:11:45 -07:00
delegating_host.ts refactor(compiler-cli): implement DeclarationNode node type (#38959) 2020-10-12 08:32:46 -07:00
esm5_host.ts refactor(compiler-cli): implement DeclarationNode node type (#38959) 2020-10-12 08:32:46 -07:00
esm2015_host.ts fix(ngcc): support inline export declarations in UMD files (#38959) 2020-10-12 08:32:46 -07:00
ngcc_host.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
umd_host.ts fix(ngcc): ensure that "inline exports" can be interpreted correctly (#39267) 2020-10-14 14:11:45 -07:00
utils.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00