At the moment, Uyuni uses a pretty standard frontend build chain based on Webpack 4, Terser, and a few loaders here and there. This works reliably, albeit fairly slowly. In part this may be attributed to large package sizes, in part to the tooling itself.
Over the past few years, a number of newer competitors have entered the frontend build tooling space: Snowpack, Vite and Esbuild to name a few. Many of them target build speed and development iteration speed as their primary goal. It would be great to check whether one of them can fit Uyuni.
Goal for this Hackweek
The goal for this project is to try and build the Uyuni frontend project with the three aforementioned tools: Snowpack, Vite and Esbuild. Given some of them rely on dependencies being ES modules, they might not work for this specific use case, but that needs further research.
The aim is to reduce both development turnaround times as well as production build times while keeping all existing functionality on par. The resulting tool chain should output both development and production builds, we don't want to maintain two parallel tracks for different builds.
Snowpack getting started guide: https://www.snowpack.dev/tutorials/quick-start
Vite getting started guide: https://vitejs.dev/guide/
Esbuild getting started guide: https://esbuild.github.io/getting-started/
No Hackers yet
This project is part of:
Hack Week 20
This project is one of its kind!