Skip to content

ngx-scorm-wrapper

An injectable Angular service wrapping the SCORM 1.2 and 2004 runtime APIs

Stale · 91 mo Last commit Checked · 24 Aug 2026

The facts

Licence
MIT — OSI approved
Pricing
Open source
Deployment
Embedded in your own application
Platforms
Library · Web

Standards support

Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.

Standards support for ngx-scorm-wrapper, with the source of each claim and the date it was last confirmed.
Standard Supported Provenance Checked Note
SCORM 1.2 Yes editor-checked · 24 Aug 2026— source, opens in a new tabThe 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 tabSame 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