This directory contains runtime third-party assets that are committed to the repository and loaded by the shipped HTML pages.
- Load browser libraries from
/tools/vendor/**, not from external CDNs. - Keep
node_modules/development-only and gitignored. - Commit all runtime vendor files, plus
package.jsonandpackage-lock.json, whenever versions change. - Prefer stable filenames in
/tools/vendor/so app code does not need to change when versions are updated.
- Update the dependency versions in
package.jsonwhen needed. - Run
npm install. - Run
npm run vendor:sync. - Verify the tools still work.
- Commit
package.json,package-lock.json, and the changed files in/tools/vendor/.
/tools/vendor/pdfjs/— shared PDF.js runtime files/tools/vendor/pdf-lib/— sharedpdf-libbundle/tools/vendor/jspdf/— sharedjsPDFbundle/tools/vendor/ffmpeg/— shared FFmpeg.wasm runtime files
tools/vendor/manifest.json is generated by the sync script and records the currently vendored package versions.