pdf.js, vendored

pdf.min.mjs and pdf.worker.min.mjs from pdfjs-dist 4.10.38, unmodified. Apache License 2.0 — see LICENSE.

Why it is committed rather than loaded from a CDN

The ops desk loads nothing from anyone else's server. That is worth keeping: it is the tool the desk works in, and a CDN having a bad afternoon should not be able to stop somebody building an itinerary. The two files are fetched only when a PDF is actually opened, so the cost lands on the one action that needs them and on nobody else's page load.

Updating

curl -L -o pdfjs.tgz https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-<version>.tgz
tar xzf pdfjs.tgz --strip-components=1 package/build/pdf.min.mjs package/build/pdf.worker.min.mjs package/LICENSE

Then copy the three files here and say which version in this file. Only text extraction is used — getDocument and getTextContent — so a major version bump is worth a quick check that a Veena or Viator PDF still reads, and nothing more.