I'm still on Angular 17. Last week I released a build that somehow broke a lot of my Safari users by including static initialization blocks in my JS bundle: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Static_initialization_blocks
My release from just 2 weeks prior was perfectly fine.
In the affected Safari browsers, they'd get an unrecoverable runtime error on both main.js and polyfills.js ("SyntaxError: Unexpected token '{'").
I chalked it up to a bad .browserslistrc that just happened to work previously by luck. The definition was a little messed up previously, so I changed it to be:
> 02%
not dead
After an ng build I've noticed that my main.js properly excludes any of the static { [...] } syntaxes that were causing the error before. This is good. But it seems my polyfills.js still contains them. I'm a little at a loss. Is there any reason why my .browserslistrc config could build a compatible main.js but polyfills.js still be incompatible?