Next doesn't transpile new URL(...) dependency
Unanswered
Blue orchard bee posted this in #help-forum
Blue orchard beeOP
It is my understanding that in order to use
While that works fine locally,
Adding
How can I make the build comply with
pdfjs-dist
from a Next application, one has to initialize the worker by hand:// NOTE Use legacy build until Node 22
import { GlobalWorkerOptions } from 'pdfjs-dist/legacy/build/pdf';
const url = new URL('pdfjs-dist/legacy/build/pdf.worker.min.mjs', import.meta.url);
GlobalWorkerOptions.workerSrc = url.toString();
While that works fine locally,
next build
will error on that .mjs
file with:static/media/pdf.worker.0dfedf1d.mjs from Terser
x 'import', and 'export' cannot be used outside of module code
,-[90897:1]
90897 | const pdfjsVersion = "4.6.82";
90898 | const pdfjsBuild = "9b541910f";
90899 | var __webpack_exports__WorkerMessageHandler = __webpack_exports__.WorkerMessageHandler;
90900 | export { __webpack_exports__WorkerMessageHandler as WorkerMessageHandler }; //# sourceMappingURL=pdf.worker.mjs.map
: ^^^^^^
`----
Caused by:
0: failed to parse input file
1: Syntax Error
Error:
x 'import', and 'export' cannot be used outside of module code
,-[90897:1]
90897 | const pdfjsVersion = "4.6.82";
90898 | const pdfjsBuild = "9b541910f";
90899 | var __webpack_exports__WorkerMessageHandler = __webpack_exports__.WorkerMessageHandler;
90900 | export { __webpack_exports__WorkerMessageHandler as WorkerMessageHandler }; //# sourceMappingURL=pdf.worker.mjs.map
: ^^^^^^
`----
Adding
pdfjs-dist
to transpilePackages
doesn't seem to have any effect, I'm guessing because I'm not using require
/import
How can I make the build comply with
pdfjs-dist
as MJS since this is what the library provides?