I've always been skeptical of the JS community's mania for Babel plugins and compile-to-JS languages, and honestly, working with the Mastodon codebase and trying to shrink a 2.6MB JS bundle, I feel like my worst fears have been realized.

I've decomposed all of Mastodon's Babel presets into these plugins. If I remove a single one, I get some inscrutable error apparently caused by some other plugin in the pipeline. Feels like a big Jenga tower. 😞 #MastodonPerf

@nolan is it better to use specific plugins instead of the 2015 preset?
@halkeye I am debugging. See the rest of my thread. :)
@nolan yea, thats why i was asking, in general do you find specific plugins better than the entire 2015 preset? I don't performance check, I tend to do es2015 then add a few extra newer plugins if needed

@halkeye My preference is pure ES5 since most ES6 patterns are still slower than their ES5 equivalents anyway (https://kpdecker.github.io/six-speed/). But I understand that that ship has already sailed, so I'll settle for one bundle for modern browsers and one for older browsers, toggled via feature detection.

The reason I'm decomposing is mostly to figure out what's breaking and why when I try to swap in different Babel plugins/presets.