Modules
Each browser Web API lives in its own module, published as a subpath export
(e.g. @rtorcato/browser-common/clipboard). These pages are hand-written
guides — a short description, a runnable example, and links to the underlying
spec docs. For exact function signatures and types, see the generated
API Reference.
The shared shape
Every module exposes an is<Name>Available() feature check. Most operations
degrade gracefully when the API is missing (returning null / false /
empty). A few that must return a live object (createBroadcastChannel,
getDisplayMedia, createCredential, createURLPattern) or a dialog result
(showAlert / showConfirm / showPrompt) throw a clear
requires a browser environment error instead — guard those with the feature
check first.
Importing any module is always SSR / Node-safe; nothing touches window at
module load, so calls simply no-op or throw at call time, never at import.
Support at a glance
One row per module, for the main Web API it wraps. Baseline is the web-features status: Widely available (in every major browser for 30+ months), Newly available (in every major browser, recently), or Limited (missing from at least one). Each module page breaks this down per API, with notes on partial support.
| Module | Baseline | Chrome | Edge | Firefox | Safari | iOS Safari |
|---|---|---|---|---|---|---|
alert | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1+ | ✅ 1+ | ✅ 1+ |
backgroundtasks | Limited | ✅ 49+ | ✅ 79+ | ❌ | ❌ | ❌ |
battery | Limited | ✅ 38+ | ✅ 79+ | ❌ removed in 52 | ❌ | ❌ |
broadcastchannel | Widely available | ✅ 54+ | ✅ 79+ | ✅ 38+ | ✅ 15.4+ | ✅ 15.4+ |
canvas | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1.5+ | ✅ 2+ | ✅ 1+ |
clipboard | Widely available | ✅ 66+ | ✅ 79+ | ✅ 63+ | ✅ 13.1+ | ✅ 13.4+ |
common | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1+ | ✅ 1+ | ✅ 1+ |
cookies | Widely available | ✅ 1+ | ✅ 12+ | ✅ 68+ | ✅ 4+ | ✅ 3.2+ |
dom | Widely available | ✅ 1+ | ✅ 12+ | ✅ 3.5+ | ✅ 3.1+ | ✅ 2+ |
draganddrop | Widely available | ✅ 3+ | ✅ 12+ | ✅ 3.5+ | ✅ 4+ | ✅ 3.2+ |
encodingapis | Widely available | ✅ 38+ | ✅ 79+ | ✅ 18+ | ✅ 10.1+ | ✅ 10.3+ |
filesystem | Limited | ✅ 86+ | ✅ 86+ | ❌ | ❌ | ❌ |
focus | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1.5+ | ✅ 3+ | ✅ 1+ |
forms | Widely available | ✅ 5+ | ✅ 12+ | ✅ 4+ | ✅ 5+ | ✅ 5+ |
fullscreen | Limited | ✅ 71+ | ✅ 79+ | ✅ 64+ | ✅ 16.4+ | ◐ partial 16.4+ |
geolocation | Widely available | ✅ 5+ | ✅ 12+ | ✅ 3.5+ | ✅ 5+ | ✅ ≤3+ |
history | Widely available | ✅ 5+ | ✅ 12+ | ✅ 4+ | ✅ 5+ | ✅ 4+ |
htmlmedia | Widely available | ✅ 3+ | ✅ 12+ | ✅ 3.5+ | ✅ 3.1+ | ✅ 3+ |
idle | Limited | ✅ 94+ | ✅ 114+ | ❌ | ❌ | ❌ |
iframe | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1+ | ✅ 3+ | ✅ 1+ |
intersection | Widely available | ✅ 51+ | ✅ 15+ | ✅ 55+ | ✅ 12.1+ | ✅ 12.2+ |
keyboard | Widely available | ✅ 51+ | ✅ 12+ | ✅ 23+ | ✅ 10.1+ | ✅ 10.3+ |
localstorage | Widely available | ✅ 4+ | ✅ 12+ | ✅ 3.5+ | ✅ 4+ | ✅ 3.2+ |
location | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1+ | ✅ 1+ | ✅ 1+ |
mediadevices | Widely available | ✅ 53+ | ✅ 12+ | ✅ 36+ | ✅ 11+ | ✅ 11+ |
motion | Widely available | ✅ 31+ | ✅ 12+ | ✅ 6+ | ✅ 17+ | ✅ 4.2+ |
mutationobserver | Widely available | ✅ 26+ | ✅ 12+ | ✅ 14+ | ✅ 7+ | ✅ 7+ |
notifications | Limited | ✅ 20+ | ✅ 14+ | ✅ 22+ | ✅ 7+ | ◐ partial 16.4+ |
orientation | Widely available | ✅ 7+ | ✅ 12+ | ✅ 6+ | ✅ 17+ | ✅ 4.2+ |
performance | Widely available | ✅ 28+ | ✅ 12+ | ✅ 38+ | ✅ 11+ | ✅ 11+ |
permissions | Widely available | ✅ 43+ | ✅ 79+ | ✅ 46+ | ✅ 16+ | ✅ 16+ |
pointerevents | Widely available | ✅ 55+ | ✅ 12+ | ✅ 59+ | ✅ 13+ | ✅ 13+ |
print | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1+ | ✅ 1.1+ | ✅ 1+ |
resizeobserver | Widely available | ✅ 64+ | ✅ 79+ | ✅ 69+ | ✅ 13.1+ | ✅ 13.4+ |
screen | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1+ | ✅ 1+ | ✅ 1+ |
screencapture | Limited | ✅ 72+ | ✅ 79+ | ✅ 66+ | ✅ 13+ | ❌ |
selectionapi | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1+ | ✅ 1.3+ | ✅ 1+ |
serviceworkers | Widely available | ✅ 40+ | ✅ 17+ | ✅ 44+ | ✅ 11.1+ | ✅ 11.3+ |
sessionstorage | Widely available | ✅ 4+ | ✅ 12+ | ✅ 2+ | ✅ 4+ | ✅ 3.2+ |
touchevents | Limited | ✅ 22+ | ✅ 79+ | ✅ 52+ | ❌ | ✅ 3.2+ |
urlpattern | Newly available | ✅ 95+ | ✅ 95+ | ✅ 142+ | ✅ 26+ | ✅ 26+ |
vibrate | Limited | ✅ 32+ | ✅ 79+ | ❌ removed in 129 | ❌ | ❌ |
viewtransitions | Newly available | ✅ 111+ | ✅ 111+ | ✅ 144+ | ✅ 18+ | ✅ 18+ |
visualviewport | Widely available | ✅ 61+ | ✅ 79+ | ✅ 91+ | ✅ 13+ | ✅ 13+ |
webanimations | Widely available | ✅ 36+ | ✅ 79+ | ✅ 48+ | ✅ 13.1+ | ✅ 13.4+ |
webauthn | Widely available | ✅ 67+ | ✅ 18+ | ✅ 60+ | ✅ 13+ | ✅ 13+ |
weblocks | Widely available | ✅ 69+ | ✅ 79+ | ✅ 96+ | ✅ 15.4+ | ✅ 15.4+ |
webshare | Limited | ✅ 128+ | ✅ 93+ | ❌ flag only | ✅ 12.1+ | ✅ 12.2+ |
websockets | Widely available | ✅ 5+ | ✅ 12+ | ✅ 11+ | ✅ 5+ | ✅ 4.2+ |
window | Widely available | ✅ 1+ | ✅ 12+ | ✅ 1+ | ✅ 1+ | ✅ 1+ |
Reference links
Each module page links two external references:
- 📖 MDN — the developer-facing reference for the underlying Web API.
- 📊 caniuse — the live browser-support table for that API.
For the full support summary across all modules, see the Browser support guide.