usescorm
React hook that wraps the SCORM run-time API and keeps state in suspend data
The facts
- Licence
- MIT — OSI approved
- Pricing
- Open source Price source for usescorm, opens in a new tab
- Deployment
- Embedded in your own application
- Platforms
- Library
Standards support
Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.
| Standard | Supported | Provenance | Checked | Note |
|---|---|---|---|---|
| SCORM 1.2 | Yes | editor-checked · 24 Aug 2026— source, opens in a new tab | `CMIElement1_2` and `IScorm1_2` are typed out element by element, and the instance branches on a '1.2' version case. | |
| SCORM 2004 | Yes | editor-checked · 24 Aug 2026— source, opens in a new tab | `API_1484_11` is looked up and `CMIElement2004` is typed separately. An 'auto' mode intersects both type sets when the version is unknown. | |
| xAPI | Not stated | — | — | — |
| cmi5 | Not stated | — | — | — |
| AICC | Not stated | — | — | — |
| LTI | Not stated | — | — | — |
- Claimed
- — the vendor states it. We have not confirmed it.
- Checked
- — an editor confirmed it on the date shown.
- Verified
- — an official registry lists it, and we link to the entry.
Editor's notes
A React hook over the SCORM run-time API, distributed on npm as @blocdigital/usescorm. useScorm({ version: '1.2' }) finds the API object, initialises the session, and returns an instance exposing get, set, commit and terminate alongside a small event emitter. It handles completion status and exit mode automatically by default, and auto-commits on change unless you turn that off.
The part worth noticing is the typing. Rather than accepting arbitrary strings, the CMI data model elements for 1.2 and 2004 are enumerated as union types, and the generic resolves to the intersection of both when the version is set to auto. In a TypeScript course build that turns a whole class of silent failure — a mistyped element name returning an empty string at run time — into a compile error.
It suits React-built courses and course players. It is no help to anyone not using React, and it does no packaging: you still need a packager to emit the manifest and zip.
On maintenance, be realistic about scale. This is a single agency's library at version 0.2.3, last released February 2025, with single-figure stars and no visible outside contributors. The code is short and readable enough to audit in an afternoon, which is the honest basis on which to depend on it.
Listed on scorm-tools.com
Maintainers and vendors are welcome to show the listing badge in a README or on a product page. It is free, it does not require a claim, and there is nothing to buy.
Get the embed code