From cf7f8c7c037f0496cf7581a07eaa77e4c7349d39 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Oct 2024 08:52:33 +0000 Subject: [PATCH] refactor(core): make AfterRenderImpl tree-shakable by moving PHASES (#58297) Marked the PHASES constant within AfterRenderImpl as @__PURE__ to enable better tree-shaking during bundling. This optimization ensures that unused code is more effectively eliminated, improving overall bundle size and performance. Closes #58296 PR Close #58297 --- packages/core/src/render3/after_render/manager.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/core/src/render3/after_render/manager.ts b/packages/core/src/render3/after_render/manager.ts index 2724a83b918..4a42017a96e 100644 --- a/packages/core/src/render3/after_render/manager.ts +++ b/packages/core/src/render3/after_render/manager.ts @@ -33,12 +33,13 @@ export class AfterRenderManager { } export class AfterRenderImpl { - static readonly PHASES = [ - AfterRenderPhase.EarlyRead, - AfterRenderPhase.Write, - AfterRenderPhase.MixedReadWrite, - AfterRenderPhase.Read, - ] as const; + static readonly PHASES = /* @__PURE__ **/ (() => + [ + AfterRenderPhase.EarlyRead, + AfterRenderPhase.Write, + AfterRenderPhase.MixedReadWrite, + AfterRenderPhase.Read, + ] as const)(); private readonly ngZone = inject(NgZone); private readonly scheduler = inject(ChangeDetectionScheduler);