Big problem in vfs_fonts. Objects are not extensible (React + Vite)
PandukaNandara opened this issue · 1 comments
PandukaNandara commented
I am using React with Vite. There is a serious problem needed to be addressed related to vfs_fonts
. I am unable to set the vfs_fonts
according to the outdated documentation.
// Not even working in locally ❌
import * as pdfMake from "pdfmake/build/pdfmake";
import * as pdfFonts from 'pdfmake/build/vfs_fonts';
// Also this is an illegal assignment. Imports are readonly ❌ ❌
(<any>pdfMake).vfs = pdfFonts.pdfMake.vfs;
When I apply this code, I am getting the following error.
src/reports/barcode/BarcodeReport2.ts (22:13) Illegal reassignment of import "pdfMake" in "src/reports/barcode/BarcodeReport2.ts".
Then I figured out how to do this without getting an error locally.
// eslint-disable-next-line no-import-assign
Object.defineProperty(pdfMake, 'vfs', {
value: vfs_fonts,
writable: false, // optional, makes it read-only
});
But in the built version I am getting the following error.
It is so pathetic that developers of the plugin have managed to build one of the best pdf generator library but still not be able to implement a simple function to set the vfs_fonts
like this.
import * as pdfMake from 'pdfmake/build/pdfmake';
import * as pdfFonts from 'pdfmake/build/vfs_fonts';
pdfMake.setVfs(pdfFonts)
beppo-ivel commented
Removing the * as syntax worked for me.
https://stackoverflow.com/questions/69468718/using-pdfmaker-in-typescript#comment122787297_69468718
https://github.com/bpampuch/pdfmake/issues/1877#issuecomment-2148594824