ZDDC/transmittal/js
ZDDC d6206b03e7 feat(shared): bake xlsx + utif + jszip + docx-preview into every tool
Removes every runtime CDN load. The "ship the record player with the
record" philosophy: a downloaded .html file works offline against any
file the user can open, with no network dependency at runtime.

Newly vendored under shared/vendor/:
  - xlsx.full.min.js (SheetJS, 928 KB) — XLSX/XLS preview
  - utif.min.js     (UTIF, 57 KB)      — TIFF preview

Already there but now used by mdedit too:
  - jszip.min.js, docx-preview.min.js

Call sites updated to drop the `await loadLibrary(URL)` pattern —
since the vendor JS is concatenated into the inline <script> at build
time, window.XLSX / window.JSZip / window.UTIF / window.docx are
available synchronously from page load.

Per-tool changes:

  - archive/build.sh:        +xlsx, +utif
  - classifier/build.sh:     +xlsx, +utif
  - transmittal/build.sh:    +xlsx, +utif
  - mdedit/build.sh:         +jszip, +docx-preview, +xlsx, +utif
                              (mdedit was the only tool not yet
                               bundling any of the preview deps)
  - browse/build.sh:         +utif
  - archive/js/table.js, classifier/js/preview.js,
    transmittal/js/files-preview.js, mdedit/js/file-tree.js (×2):
    drop the `await loadLibrary('…cdn…')` lines.
  - shared/preview-lib.js:
    drop the loadLibrary(UTIF) / loadLibrary(JSZip) wrappers; assume
    window.UTIF and window.JSZip are present.

Net bundle-size delta after baking:
  archive:     +990 KB → ~1.47 MB
  browse:       +57 KB → ~292 KB
  classifier:  +990 KB → ~1.43 MB
  mdedit:    +1100 KB → ~2.09 MB
  transmittal: +990 KB → ~1.63 MB

Docs (AGENTS.md, ARCHITECTURE.md) updated: removed the "runtime CDN
loading exception" paragraph and the table row that flagged xlsx as
CDN-loaded.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 15:09:38 -05:00
..
app.js Initial commit 2026-04-27 11:05:47 -05:00
data.js Initial commit 2026-04-27 11:05:47 -05:00
dom.js Initial commit 2026-04-27 11:05:47 -05:00
drop-zones.js Initial commit 2026-04-27 11:05:47 -05:00
email-tags.js Initial commit 2026-04-27 11:05:47 -05:00
files-archive.js Initial commit 2026-04-27 11:05:47 -05:00
files-preview.js feat(shared): bake xlsx + utif + jszip + docx-preview into every tool 2026-05-10 15:09:38 -05:00
files-render.js Initial commit 2026-04-27 11:05:47 -05:00
files.js feat(server): authenticated CRUD + verb-based RBAC with WORM archive folders 2026-05-05 15:58:04 -05:00
filters.js Initial commit 2026-04-27 11:05:47 -05:00
focus.js Initial commit 2026-04-27 11:05:47 -05:00
hydrate.js Initial commit 2026-04-27 11:05:47 -05:00
json.js Initial commit 2026-04-27 11:05:47 -05:00
live-digest.js Initial commit 2026-04-27 11:05:47 -05:00
logos.js Initial commit 2026-04-27 11:05:47 -05:00
main.js Initial commit 2026-04-27 11:05:47 -05:00
markdown-editor.js Initial commit 2026-04-27 11:05:47 -05:00
markdown.js Initial commit 2026-04-27 11:05:47 -05:00
mode.js Initial commit 2026-04-27 11:05:47 -05:00
publish-modal.js Initial commit 2026-04-27 11:05:47 -05:00
publish.js Initial commit 2026-04-27 11:05:47 -05:00
reactive.js Initial commit 2026-04-27 11:05:47 -05:00
reset.js Initial commit 2026-04-27 11:05:47 -05:00
security.js Initial commit 2026-04-27 11:05:47 -05:00
state.js Initial commit 2026-04-27 11:05:47 -05:00
util.js Initial commit 2026-04-27 11:05:47 -05:00
validation.js Initial commit 2026-04-27 11:05:47 -05:00
verification.js Initial commit 2026-04-27 11:05:47 -05:00
visibility.js Initial commit 2026-04-27 11:05:47 -05:00