Bundle optimization in Project Dasher

I mentioned recently that I’ve been working on updating Project Dasher’s use of 3rd party components, and that I had some learnings to share.

We started the Forge-based version of Dasher in 2016, and (much to my shame) some of the components had stayed at more-or-less the version available at that time, largely due to the migration effort needed to deal with breaking changes. Biting the bullet to upgrade them was painful but necessary, and right now I (and Dasher) feel nicely refreshed.

Last time I mentioned there were two big outstanding dependencies that still required attention: Bootstrap and Rollup. Bootstrap is a UI framework that allows you to design responsive websites, and was a choice that made sense for us when we started Dasher (React was still maturing and we wanted something where we could move quickly). There was quite a bit of work needed to upgrade Bootstrap from 3.x to 4.x, and then from 4.x to 5.x (going from 3.x to 5.x would have been beyond painful). But now…

Read more