How we migrated to ViteJS
Blog post from Retool
Retool recently undertook a significant migration from Webpack to ViteJS as its core frontend development tool, driven by the need for improved production bundling times, enhanced local development productivity, and alignment with modern web development paradigms like ECMAScript modules (ESM). The transition involved overcoming challenges such as migrating from CommonJS to ESM, dealing with Jest's limited ESM support, and addressing bundle bloat caused by Rollup's simpler chunking algorithm compared to Webpack's. Despite these hurdles, the migration led to faster hot reloading and improved developer productivity, although it did not reduce production bundling times as initially hoped. The deployment of the new setup was carefully managed using feature flags and phased rollouts, ensuring minimal disruption. The migration has positioned Retool to better navigate future frontend development trends, with a more productive engineering team and a cleaner codebase, despite the initial challenges and some limitations in ViteJS's approach to initial app loading.