I am currently working on a plugin that can convert a PDF to an image printout and insert the images into a note.
I have a working setup but it is very much hacked together, as it calls a Python script I've written for everything related to PDF conversion. Naturally, I would like to re-write this as a native Joplin Plugin.
I am currently stuck with this as I cannot get a minimal example with PDF.js to work.
The minimal example would be something like this:
var pdfjs = require("pdfjs-dist"); const doc = await pdfjs.getDocument('/<path-to-pdf>').promise;
The error I am getting is the following:
ERROR in ./node_modules/pdfjs-dist/build/pdf.js 924:33 Module parse failed: Unexpected token (924:33) You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders | const httpHeaders = src.httpHeaders || null; | const withCredentials = src.withCredentials === true; > const password = src.password ?? null; | const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null; | const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE; @ ./src/index.ts 15:12-33
It seems to be related to the nullish coalescing operator not being defined. Asking ChatGPT and from trying to Google the answer, it seems like I have two options:
- Change the loader in
webpack.config.jsto use Babel and include the plugin
- Update the target versino inside
I've had success with neither and would very much appreciate some help porting my script.