I'm not a big fan of having puppeteer and esbuild just to generate PDF report. Maybe vmprint could be a viable alternative.