angular-cn/packages/core
Andrew Kushnir 696e520842 fix(ivy): make metadata calls side-effect free in Closure (#29947)
When compiling Angular classes, the compiler may decide to append statements with specific metadata that's only required for JIT. This includes things like decorator metadata as well as NgModule scope data.

When the compiler generates such calls, the call sites are marked with Uglify's PURE annotation, so the optimizer will remove them in production builds. However, Closure does not have the PURE (or similar) annotation. We have a utility function `noSideEffects` in the runtime for this purpose. This commit wraps `setClassMetadata` and `setNgModuleScope` function bodies in `noSideEffect` closures to allow Closure remove them.

PR Close #29947
2019-04-17 12:20:51 -07:00
..
schematics refactor(core): migrations do not properly handle multiple templates in source file (#29841) 2019-04-15 11:13:39 -07:00
src fix(ivy): make metadata calls side-effect free in Closure (#29947) 2019-04-17 12:20:51 -07:00
test fix(ivy): properly coalesce event handler in presence of queries (#29957) 2019-04-17 12:20:00 -07:00
testing fix(ivy): multi provider override support in TestBed (#29919) 2019-04-16 10:28:40 -07:00
BUILD.bazel refactor(ivy): move ngcc into a higher level folder (#29092) 2019-03-20 14:45:54 -04:00
PACKAGE.md docs: add package doc files (#26047) 2018-10-05 15:42:14 -07:00
index.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
package.json build: update zone.js to 0.9.0 (#28219) 2019-03-26 12:50:38 -07:00
public_api.ts build: publish tree of files rather than FESMs (#18541) 2017-08-31 15:34:50 -07:00
tsconfig-build.json feat(ivy): implement TestBed (#25369) 2018-08-14 11:58:47 -07:00