angular-docs-cn/integration/_payload-limits.json
George Kalpakas 669df70da5 fix(ivy): ensure DebugNode/DebugElement are tree-shakeable in Ivy (#35003)
There are different `DebugNode`/`DebugElement` implementations (and
associated helper functions) for ViewEngine and Ivy. Additionally, these
classes/functions, which are defined inside the `core` package, are
imported by the `platform-browser` package.

Previously, this code was not tree-shaken as expected in Ivy. #30130
partially addressed the issue, but only for the case where `core` and
`platform-browser` end up in the same closure after webpack's scope
hoisting. In cases where this is not the case, our webpack/terser based
tooling is not capable of tree-shaking it.

This commit fixes the problem, by ensuring that the code retained in Ivy
mode (due to the cross-package import) does not unnecessarily reference
`DebugNode`/`DebugElement`, allowing the code to be tree-shaken away.
This results in a 7.6KB reduction in the size of the main angular.io
bundle.

Jira issue: [FW-1802](https://angular-team.atlassian.net/browse/FW-1802)

PR Close #35003
2020-01-28 15:57:57 -08:00

68 lines
1.6 KiB
JSON

{
"cli-hello-world": {
"master": {
"uncompressed": {
"runtime-es2015": 1485,
"main-es2015": 141746,
"polyfills-es2015": 36808
}
}
},
"cli-hello-world-ivy-minimal": {
"master": {
"uncompressed": {
"runtime-es2015": 1485,
"main-es2015": 16593,
"polyfills-es2015": 36808
}
}
},
"cli-hello-world-ivy-compat": {
"master": {
"uncompressed": {
"runtime-es2015": 1485,
"main-es2015": 147911,
"polyfills-es2015": 36808
}
}
},
"cli-hello-world-ivy-i18n": {
"master": {
"uncompressed": {
"runtime-es2015": 1485,
"main-es2015": 137026,
"polyfills-es2015": 37494
}
}
},
"cli-hello-world-lazy": {
"master": {
"uncompressed": {
"runtime-es2015": 2289,
"main-es2015": 247225,
"polyfills-es2015": 36808,
"5-es2015": 751
}
}
},
"cli-hello-world-lazy-rollup": {
"master": {
"uncompressed": {
"runtime-es2015": 2289,
"main-es2015": 226321,
"polyfills-es2015": 36808,
"5-es2015": 779
}
}
},
"hello_world__closure": {
"master": {
"uncompressed": {
"bundle": "TODO(i): temporarily increase the payload size limit from 105779 - this is due to a closure issue related to ESM reexports that still needs to be investigated",
"bundle": "TODO(i): we should define ngDevMode to false in Closure, but --define only works in the global scope.",
"bundle": 175498
}
}
}
}