iamsingle.app · resources

SFWA Resources

Small, embeddable, build-free libraries for single-file web apps — things worth reaching for before you reach for a bundler.

Reactivity & UI

Alpine.js

Reactivity

Declarative reactivity as plain HTML attributes — the closest thing to Vue as a single script tag.

petite-vue

Reactivity

Vue's official subset for progressive enhancement, no build step required.

Preact

UI

A drop-in alternative to React — same component model, a fraction of the weight.

htm

Templating

JSX-like templates via tagged template literals — no build step, no compiler, pairs well with Preact.

Storage & data

idb-keyval

Storage

A promise-based get/set wrapper over IndexedDB, as one drop-in script.

PapaParse

Data parsing

Parses real-world, messy CSV files in the browser, no build step required.

pako

Compression

zlib-compatible gzip/deflate in the browser — useful for save-file or export features.

Everything else

safe-markdown

Markdown

Renders markdown to real DOM nodes, never an HTML string — no innerHTML anywhere, so there's no injection sink to sanitise.

day.js

Dates

A date library with a moment.js-compatible API, without moment's weight.

Prism.js

Syntax highlighting

A small core; load only the language grammars you actually need.

SortableJS

Drag & drop

Drag-and-drop reorderable lists, no dependencies, handles the fiddly pointer events for you.

qrcode

QR codes

Client-side QR code generation to canvas, SVG, or a terminal string.

← back to the full catalog