ngx-scorm-wrapper
An injectable Angular service wrapping the SCORM 1.2 and 2004 runtime APIs
The facts
- Licence
- MIT — OSI approved
- Pricing
- Open source
- Deployment
- Embedded in your own application
- Platforms
- Library · Web
- Documentation
- npmjs.com/package/ngx-scorm-wrapper — opens in a new tab
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 | The service looks for window.API and dispatches to LMSInitialize, LMSGetValue and the rest. Read in source, August 2026. | |
| SCORM 2004 | Yes | editor-checked · 24 Aug 2026— source, opens in a new tab | Same service; a `scormVersions` list of Auto / 1.2 / 2004 selects between window.API and window.API_1484_11 and swaps the method names. No edition is distinguished in code, so none is claimed here. | |
| 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
ngx-scorm-wrapper is a port of the older AngularJS SCORM wrapper by patamechanix to Angular's dependency-injection model. You add ScormWrapperModule to your imports, inject ScormWrapperService into a component, and call doLMSInitialize, doLMSGetValue and so on without thinking about which global the LMS happened to expose. A version setting of Auto, 1.2 or 2004 decides whether the service binds to window.API or window.API_1484_11, and every call is dispatched through a pair of method names so the rest of your code stays version-agnostic.
The design is sound and the version-switching logic is the part worth reading — it is the same problem every SCORM wrapper solves, expressed compactly and with tests. There is a companion demo repository showing a working course.
The problem is age. The last commit is March 2019, the CI badge points at Travis, and the packaging predates the conventions every modern Angular library follows. Three stars and three open issues; nothing has been fixed in seven years and nothing will be.
Read it as a reference for how to bridge Angular's injector to a global browser API, then copy the service into your own project and maintain it yourself. As a dependency in a 2026 Angular application it is not a realistic choice.
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