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 question: would making the front-end 'offline-first' have any advantages, or just another js library?
@rooneel Offline-first is like priority #3 in my mind to getting Mastodon to work well as a mobile webapp. First thing first is to shrink that 2.6MB JS bundle; it really should be <300KB or even smaller to hit e.g. Google's RAIL guidelines for low-cost Android devices such as the ones popular in developing countries.
@nolan yees please! Even on my 2GB RAM netbook, the textbox is almost-completely irresponsive. There was >1 min lag (not kidding!) as i type this.
@rooneel I haven't tested Mastodon yet on a slow laptop but I was worried about that. :/

@nolan with a size like that I'm scared of the dependency hell.

How do you maintain something so interlocked?