mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Prior to this change, the `setClassMetadata` call would be invoked inside of an IIFE that was marked as pure. This allows the call to be tree-shaken away in production builds, as the `setClassMetadata` call is only present to make the original class metadata available to the testing infrastructure. The pure marker is problematic, though, as the `setClassMetadata` call does in fact have the side-effect of assigning the metadata into class properties. This has worked under the assumption that only build optimization tools perform tree-shaking, however modern bundlers are also able to elide calls that have been marked pure so this assumption does no longer hold. Instead, an `ngDevMode` guard is used which still allows the call to be elided but only by tooling that is configured to consider `ngDevMode` as constant `false` value. PR Close #39987 |
||
|---|---|---|
| .. | ||
| commonjs_rendering_formatter_spec.ts | ||
| dts_renderer_spec.ts | ||
| esm5_rendering_formatter_spec.ts | ||
| esm_rendering_formatter_spec.ts | ||
| renderer_spec.ts | ||
| umd_rendering_formatter_spec.ts | ||