In Part 4 of this series, I'll be talking about some of ways the scope of PR #1322 grew to include cloud-based IDEs! As alluded to in Part 1, our conversion from Webpack to Vite all started because of a discussion about opportunities for dependency updates in our project. Between this and us greatly reducing our build script footprint, we saw in this endeavor an additional opportunity for reduced friction in getting setup for Cloud IDE support. To us, Cloud IDE support presents an arguably easier path for prospective contributors, because it allows them to skip the hard parts of preparing their local environment for development.
Based on some back-and-forth in our Discord, we decided to try out a handful of Cloud IDEs. Ultimately, this PR (and some ground-clearing ones that preceded it) introduced support for Gitpod, Replit, Stackblitz, and Glitch.
Exploring and implementing the various implementation details of these was a truly significant lift by @0vortex, and it shows in how he listed out the pros and cons of each Cloud IDE in our README.
One might argue that support for each Cloud IDE should have been its own PR, but I would point out that sometimes it's better to let the technical details agglomerate so that the ancillary benefits of a major change follow directly on the heels of the core benefits. I was personally very affirmed when a contributor was able to move forward with a contribution shortly after this PR landed!
Based on our experience at present, Stackblitz, Replit, Codesandbox, and Glitch are not reliable enough to test significant feature contributions to an application at the scale of Open Sauced. From what we see, the reliability challenges deal with the virtual filesystems in use - Open Sauced is a five year old project, and the codebase has grown. In fact, we feel that the performance benefits of Vite (especially its use of esbuild) made it possible for us to get the Cloud IDE support to the level that it is today.
Let us know in the comments if you'd to see more technical detail about our experiences with the Cloud IDEs!
Photo by İsmail Enes Ayhan on Unsplash