# CHM reader for johnmcm.com The WebAssembly module behind johnmcm.com's CHM viewer (/chm-viewer). It is [chmdec](https://github.com/kjk/chmdec), a cleaned-up port of [CHMLib](https://github.com/jedwing/CHMLib) by Jed Wing, compiled with Emscripten. chmdec's LICENSE.md says MIT; CHMLib, which it is ported from, is LGPL-2.1, so this site treats the result as LGPL-2.1 and publishes exactly what it builds: - `source/chm.c`, `source/chm.h`, `source/LICENSE.md`: chmdec's amalgamated source at commit `19d91e5c1b362fa8be6f6e30a02b49b1167e7823`, unmodified. - `src/wrapper.c`: this site's few functions for the page (open a file held in memory, list entries, read one). - `Dockerfile` and `build.ps1`: the build, with the Emscripten image pinned by digest. Run `build.ps1` with Docker Desktop running; the module goes to `frontend/vendor/local/chm@1/`. The module is loaded as a separate file by the page, so it can be replaced with one built from modified source.