angular/packages/compiler-cli/ngcc/src
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
..
analysis refactor(compiler-cli): implement DeclarationNode node type (#38959) 2020-10-12 08:32:46 -07:00
dependencies perf(ngcc): do not rescan program source files when referenced from multiple root files (#39254) 2020-10-14 09:34:11 -07:00
entry_point_finder perf(ngcc): do not rescan program source files when referenced from multiple root files (#39254) 2020-10-14 09:34:11 -07:00
execution perf(ngcc): introduce cache for sharing data across entry-points (#38840) 2020-09-15 11:23:04 -07:00
host fix(ngcc): ensure that "inline exports" can be interpreted correctly (#39267) 2020-10-14 14:11:45 -07:00
locking fix(ngcc): ensure lockfile is removed when analyzeFn fails (#37739) 2020-06-29 10:29:11 -07:00
migrations refactor(compiler-cli): implement DeclarationNode node type (#38959) 2020-10-12 08:32:46 -07:00
packages perf(ngcc): introduce cache for sharing data across entry-points (#38840) 2020-09-15 11:23:04 -07:00
rendering refactor(compiler-cli): make the output AST translator generic (#38775) 2020-09-21 12:27:27 -07:00
writing fix(compiler-cli): ensure file_system handles mixed Windows drives (#37959) 2020-07-13 12:05:21 -07:00
command_line_options.ts refactor(ngcc): update yargs and typings for yargs (#38470) 2020-08-17 15:30:33 -07:00
constants.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
main.ts perf(ngcc): reduce maximum worker count (#38840) 2020-09-15 11:23:09 -07:00
ngcc_options.ts perf(ngcc): reduce maximum worker count (#38840) 2020-09-15 11:23:09 -07:00
path_mappings.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
utils.ts refactor(compiler-cli): implement DeclarationNode node type (#38959) 2020-10-12 08:32:46 -07:00