npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@kreijstal/openscad-wasm

v2026.7.26-build.1

Published

OpenSCAD 2026.07.26 (commit 04834adb) for the browser, with Manifold, CGAL, fonts and lib3mf

Readme

@kreijstal/openscad-wasm

OpenSCAD 2026.07.26 (commit 04834adb) for the browser, with Manifold, CGAL, fonts and lib3mf

Upstream: https://github.com/openscad/openscad

Use

Pinned to this version, from a CDN:

https://cdn.jsdelivr.net/npm/@kreijstal/[email protected]/<file>
https://unpkg.com/@kreijstal/[email protected]/<file>

Reproducing this build

Everything here is built from source; nothing prebuilt is repackaged. The script that produced these files is included as build/build.sh.

Toolchain

  • emscripten: emcc 6.0.9-git (4e4223852a0835923411059a3929907d7df1232e) from the Arch Linux package emscripten 6.0.9-1 (installed at /usr/lib/emscripten; LLVM clang version 24.0.0git, Binaryen wasm-opt version 132 (version_132-49-gd03c25ea43))
  • Node.js v22.23.2, CMake 4.4.3, Arch Linux
  • No emsdk: the script puts /usr/lib/emscripten first on PATH and unsets EMSDK/EM_CONFIG, so every object (including emscripten's own libc/libc++) comes from that one emcc

Sources

Recipe: openscad/openscad-wasm at dc2ff913b4193b1ebfef863da3f7e84f8fbc1e11 (its Makefile and Dockerfiles: dependency versions and configure flags), built natively instead of in Docker.

| Source | Pin | |---|---| | OpenSCAD | 04834adb1ba3c9a6e4160747c91cbadbce9c37b3 (version set to 2026.07.26, the commit date) | | cgal | v6.0.3 | | doubleconversion | v3.4.0 | | eigen | 5.0.1 | | fontconfig | 2.18.2 | | freetype | VER-2-14-3 | | harfbuzz | 14.3.0 | | lib3mf | v2.3.2 | | libffi | v3.7.1 | | libxml2 | v2.15.3 | | libzip | v1.11.4 | | zlib | v1.3.2 | | glib | 3994b22020c9f61121ebbc902f19cfe906dd745b | | liberation | ef7161f03e305982b0b247e9a0b7cc472376dd83 | | boost | https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-b2-nodocs.tar.xz | | gmp | https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz | | mpfr | https://www.mpfr.org/mpfr-4.2.1/mpfr-4.2.1.tar.xz |

Steps

On Arch Linux with the emscripten package installed (pacman -S emscripten):

mkdir openscad-wasm-build && cd openscad-wasm-build && cp /path/to/this/package/build/* .
./build.sh

It takes about 22 minutes on 16 cores; FORCE=1 ./build.sh rebuilds every stage. The script fetches the pinned sources itself and refuses to run with any emcc other than /usr/lib/emscripten/emcc; the output lands in dist/. Compare it against the checksums below.

The comment at the top of the build script, verbatim:

OpenSCAD for the browser (goldenlayouteditor's 3D viewer), built from source with
the SYSTEM emscripten (/usr/lib/emscripten, emcc 6.0.9-git). No emsdk, no Docker,
no prebuilt wasm. Follows github.com/openscad/openscad-wasm (Makefile +
Dockerfile.base + Dockerfile, commit pinned below): same dependency versions,
same configure flags, built natively one after another.

Every library is installed into a private emscripten cache ($ROOT/emcache,
EM_CACHE), whose sysroot is where upstream's Dockerfile installs them too
(/emsdk/upstream/emscripten/cache/sysroot), so emcmake/emconfigure find them
with no extra search paths. emscripten's own system libraries in that cache
(libc, libc++, ...) are built from source by the system emcc on first use.

Usage: ./build.sh            fetch (if needed) + build everything not yet built
       FORCE=1 ./build.sh    rebuild every stage
       ./build.sh <stage>... rebuild only those stages

Checksums of the published files

c65c8c90d48c8f889f4adaad5aae736b7321362a5035c9fa2f4dce28e7dfdbd7  BUILDINFO.txt
24b7cf0d06040c9a1b16efc528dc2966a407288938dfa169ee7fe584140a3393  fonts/LiberationSans-BoldItalic.ttf
d723d5a272970aedf296ef6fc628180df6074bce7769701ea9e0d222c052668c  fonts/LiberationSans-Bold.ttf
e27e6da1f5bbba630d635b8cc2916f84f195735865ea539687df962ae5a98e72  fonts/LiberationSans-Italic.ttf
e5b0af421ea2bfbc1ac8d251d647268087ae82786234c57f757d1f0b90fa8b49  fonts/LiberationSans-Regular.ttf
403ec833e352e035a5f3358d9fcf77d1a1caab0e4cbd3092c588ef11e27c1c19  openscad.js
3846325c6b28bff04b861279382193a0e3c05fc0bd2f97e680be108e756ae5ad  openscad.wasm

Licenses

GPL-3.0-or-later. The license texts of everything compiled in are in LICENSES/.