Skip to content

Adapters

ViewThemAll ships 19 built-in adapters covering virtually every common file format.

Quick reference

AdapterFormatsImport
DOCX.docxviewthemall/adapters/docx
XLSX.xlsx, .xlsm, .xlsbviewthemall/adapters/xlsx
PPTX.pptx, .ppsxviewthemall/adapters/pptx
PDF.pdfviewthemall/adapters/pdf
CSV / TSV.csv, .tsvviewthemall/adapters/csv
Markdown.md, .mdx, .markdownviewthemall/adapters/md
RTF.rtf, .rtxviewthemall/adapters/rtf
ODT.odt, .ottviewthemall/adapters/odt
ODS.ods, .otsviewthemall/adapters/ods
ODP.odp, .otpviewthemall/adapters/odp
EPUB.epubviewthemall/adapters/epub
Text & Code.txt, .js, .ts, .py, .json, .log, 30+ moreviewthemall/adapters/text-code
Image.png, .jpg, .gif, .webp, .svgviewthemall/adapters/image
Media.mp4, .webm, .mp3, .wav, .oggviewthemall/adapters/media
Archive.zipviewthemall/adapters/archive
XLS (legacy).xls, .xltviewthemall/adapters/xls
XLSB (binary).xlsbviewthemall/adapters/xlsb
DOC (legacy).doc, .dotviewthemall/adapters/doc
PPT (legacy).ppt, .pot, .ppsviewthemall/adapters/ppt

Registering adapters

Register at app startup, before any files are loaded. Register mdAdapter after textCodeAdapter so it takes priority for .md files.

ts
import { registerAdapter } from 'viewthemall'
import { docxAdapter }     from 'viewthemall/adapters/docx'
import { xlsxAdapter }     from 'viewthemall/adapters/xlsx'
import { pptxAdapter }     from 'viewthemall/adapters/pptx'
import { pdfAdapter }      from 'viewthemall/adapters/pdf'
import { csvAdapter }      from 'viewthemall/adapters/csv'
import { textCodeAdapter } from 'viewthemall/adapters/text-code'
import { mdAdapter }       from 'viewthemall/adapters/md'
import { rtfAdapter }      from 'viewthemall/adapters/rtf'
import { odtAdapter }      from 'viewthemall/adapters/odt'
import { odsAdapter }      from 'viewthemall/adapters/ods'
import { odpAdapter }      from 'viewthemall/adapters/odp'
import { epubAdapter }     from 'viewthemall/adapters/epub'
import { imageAdapter }    from 'viewthemall/adapters/image'
import { mediaAdapter }    from 'viewthemall/adapters/media'
import { archiveAdapter }  from 'viewthemall/adapters/archive'
import { xlsAdapter }      from 'viewthemall/adapters/xls'
import { xlsbAdapter }     from 'viewthemall/adapters/xlsb'
import { docAdapter }      from 'viewthemall/adapters/doc'
import { pptAdapter }      from 'viewthemall/adapters/ppt'

registerAdapter(docxAdapter)
registerAdapter(xlsxAdapter)
registerAdapter(pptxAdapter)
registerAdapter(pdfAdapter)
registerAdapter(csvAdapter)
registerAdapter(textCodeAdapter)
registerAdapter(mdAdapter)       // after text-code — overrides .md/.mdx
registerAdapter(rtfAdapter)
registerAdapter(odtAdapter)
registerAdapter(odsAdapter)
registerAdapter(odpAdapter)
registerAdapter(epubAdapter)
registerAdapter(imageAdapter)
registerAdapter(mediaAdapter)
registerAdapter(archiveAdapter)
registerAdapter(xlsAdapter)
registerAdapter(xlsbAdapter)
registerAdapter(docAdapter)
registerAdapter(pptAdapter)

Tree-shaking

Only import the adapters you use. Each adapter is a separate entry point — adapters you don't import are never bundled.

ts
// This bundle only includes DOCX + PDF code — no xlsx/jszip overhead for unused formats
import { docxAdapter } from 'viewthemall/adapters/docx'
import { pdfAdapter }  from 'viewthemall/adapters/pdf'