Skip to content

Commit 72aad32

Browse files
arturovtmhevery
authored andcommitted
perf(animations): use ngDevMode to tree-shake warning (#39964)
This commit adds ngDevMode guard to show warning only in dev mode (similar to how things work in other parts of Ivy runtime code). The ngDevMode flag helps to tree-shake this warning from production builds (in dev mode everything will work as it works right now) to decrease production bundle size. PR Close #39964
1 parent bf3de9b commit 72aad32

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

Diff for: packages/animations/browser/src/render/css_keyframes/css_keyframes_driver.ts

+11-12
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ const TAB_SPACE = ' ';
2121
export class CssKeyframesDriver implements AnimationDriver {
2222
private _count = 0;
2323
private readonly _head: any = document.querySelector('head');
24-
private _warningIssued = false;
2524

2625
validateStyleProperty(prop: string): boolean {
2726
return validateStyleProperty(prop);
@@ -79,8 +78,8 @@ export class CssKeyframesDriver implements AnimationDriver {
7978
animate(
8079
element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string,
8180
previousPlayers: AnimationPlayer[] = [], scrubberAccessRequested?: boolean): AnimationPlayer {
82-
if (scrubberAccessRequested) {
83-
this._notifyFaultyScrubber();
81+
if ((typeof ngDevMode === 'undefined' || ngDevMode) && scrubberAccessRequested) {
82+
notifyFaultyScrubber();
8483
}
8584

8685
const previousCssKeyframePlayers = <CssKeyframesPlayer[]>previousPlayers.filter(
@@ -117,15 +116,6 @@ export class CssKeyframesDriver implements AnimationDriver {
117116
player.onDestroy(() => removeElement(kfElm));
118117
return player;
119118
}
120-
121-
private _notifyFaultyScrubber() {
122-
if (!this._warningIssued) {
123-
console.warn(
124-
'@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n',
125-
' visit https://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');
126-
this._warningIssued = true;
127-
}
128-
}
129119
}
130120

131121
function flattenKeyframesIntoStyles(keyframes: null|{[key: string]: any}|
@@ -146,3 +136,12 @@ function flattenKeyframesIntoStyles(keyframes: null|{[key: string]: any}|
146136
function removeElement(node: any) {
147137
node.parentNode.removeChild(node);
148138
}
139+
140+
let warningIssued = false;
141+
function notifyFaultyScrubber(): void {
142+
if (warningIssued) return;
143+
console.warn(
144+
'@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n',
145+
' visit https://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');
146+
warningIssued = true;
147+
}

0 commit comments

Comments
 (0)