#Angular 17 Build generates polyfill.js that's incompatible with newer versions of Safari

2 messages · Page 1 of 1 (latest)

harsh bear
#

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?

harsh bear
#

Ah, you know what. I'm think I'm stupid and main.js never had it in the dev build... seems my config is just in the wrong directory.