angular-cn/packages/compiler-cli/ngcc/test
JoostK e666d283dd fix(ngcc): correctly associate decorators with aliased classes (#33878)
In flat bundle formats, multiple classes that have the same name can be
suffixed to become unique. In ES5-like bundles this results in the outer
declaration from having a different name from the "implementation"
declaration within the class' IIFE, as the implementation declaration
may not have been suffixed.

As an example, the following code would fail to have a `Directive`
decorator as ngcc would search for `__decorate` calls that refer to
`AliasedDirective$1` by name, whereas the `__decorate` call actually
uses the `AliasedDirective` name.

```javascript
var AliasedDirective$1 = /** @class */ (function () {
    function AliasedDirective() {}
    AliasedDirective = tslib_1.__decorate([
        Directive({ selector: '[someDirective]' }),
    ], AliasedDirective);
    return AliasedDirective;
}());
```

This commit fixes the problem by not relying on comparing names, but
instead finding the declaration and matching it with both the outer
and inner declaration.

PR Close #33878
2019-11-18 09:10:35 -08:00
..
analysis feat(ngcc): enable migrations to apply schematics to libraries (#33362) 2019-10-25 09:16:50 -07:00
dependencies feat(ngcc): support ignoreMissingDependencies in ngcc config (#33192) 2019-10-17 19:43:39 -04:00
entry_point_finder fix(ngcc): do not analyze dependencies for non Angular entry-points (#32303) 2019-08-26 10:08:44 -07:00
execution perf(ngcc): process tasks in parallel in async mode (#32427) 2019-09-09 15:55:13 -04:00
helpers feat(ngcc): enable private NgModule re-exports in ngcc on request (#33177) 2019-10-22 13:14:31 -04:00
host fix(ngcc): correctly associate decorators with aliased classes (#33878) 2019-11-18 09:10:35 -08:00
integration fix(ngcc): do not emit ES2015 code in ES5 files (#33514) 2019-11-13 13:49:31 -08:00
logging feat(compiler-cli): ngcc - make logging more configurable (#29591) 2019-04-01 11:53:28 -07:00
migrations refactor(ngcc): rework undecorated parent migration (#33362) 2019-10-25 09:16:50 -07:00
packages feat(ngcc): enable private NgModule re-exports in ngcc on request (#33177) 2019-10-22 13:14:31 -04:00
rendering fix(ngcc): do not emit ES2015 code in ES5 files (#33514) 2019-11-13 13:49:31 -08:00
writing refactor(ngcc): abstract updating `package.json` files behind an interface (#32427) 2019-09-09 15:55:13 -04:00
BUILD.bazel fix(ngcc): do not emit ES2015 code in ES5 files (#33514) 2019-11-13 13:49:31 -08:00
utils_spec.ts refactor(ivy): ngcc - implement new module resolver (#29643) 2019-04-29 12:37:21 -07:00