// Lazy pdfmake loader with the vfs-fonts resolution quirks handled in one // place (the vfs export shape differs between pdfmake builds). Shared by the // client-side PDF builders (relabel report, parcel-contents report, ...). export const loadPdfMake = async () => { const pdfMakeModule: any = await import('pdfmake/build/pdfmake.js') const pdfFontsModule: any = await import('pdfmake/build/vfs_fonts.js') const pdfMake = pdfMakeModule.default || pdfMakeModule let vfs: any = null if (pdfFontsModule.pdfMake?.vfs) vfs = pdfFontsModule.pdfMake.vfs else if (pdfFontsModule.default?.pdfMake?.vfs) vfs = pdfFontsModule.default.pdfMake.vfs else if (pdfFontsModule.default?.vfs) vfs = pdfFontsModule.default.vfs else if (pdfFontsModule.default) { const keys = Object.keys(pdfFontsModule.default) if (keys.some(k => k.endsWith('.ttf'))) vfs = pdfFontsModule.default } pdfMake.vfs = vfs return pdfMake }