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 🙏

© 2024 – Pkg Stats / Ryan Hefner

openssl-wasm

v3.1.0

Published

WebAssembly (WASM) builds of OpenSSL

Downloads

36

Readme

openssl-wasm

What is this?

This repository holds the source files and generated WebAssembly (WASM) output for OpenSSL compiled to WASM.

Versioning

The versions here are linked to OpenSSL versions, so if you require('openssl-wasm') and get OpenSSL 3.1.0, but you want OpenSSL 1.1.1 then you should install that with npm install [email protected]

Getting Started

The following assumes that you are working in a bash terminal with docker installed and available.

  1. Build the openssl-wasm docker image
    • Run ./src/build-image.sh
    • The image expects a volume to be mounted at /WASM
  2. Build a specific version of OpenSSL
    • Run docker run openssl-wasm OpenSSL_1_1_1-stable if you want to build OpenSSL_1_1_1-stable
    • You can use any tag or branch from the OpenSSL GitHub repo
  3. Build all OpenSSL tags and branches
    • Run ./src/build-all-tags.sh
    • It takes a while

How does it work?

tldr; it uses empscripten to build the specified OpenSSL tag or branch in a container, and the WASM output is written to a mounted volume (a local folder).

  1. The Dockerfile
    • Installs dependencies
    • Installs emscripten SDK (emsdk)
    • Clones the OpenSSL repo into the image
    • Copies the build script (./src/docker/emscripten.sh) on build
  2. The openssl-wasm image
    • Will git checkout the given a tag or branch name
    • Configure emsdk and build tooling
    • Builds OpenSSL using emmake make
    • Copies the output to the mounted volume/folder
  3. The *.wasm output
    • Should be copied to a local folder
    • Should have an openssl.js file (Module) to load the WebAssembly
    • Should have an openssl.wasm file which is the WebAssembly version of OpenSSL