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

@emurgo/msl-mobile-bridge

v2.0.0

Published

React-native bindings for Emurgo's message-signing-library

Readme

MSL Mobile Bridge

npm version

React Native library providing JavaScript bindings for Emurgo's Message Signing Library with native Rust components.

📦 Installation

Requirements

  • RustInstall rustup
  • Python 3 — Required for Android builds
  • Rust targets — Cross-compilation targets for iOS/Android
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.zshrc

# Install Rust targets
rustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios \
    aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android

# Verify Python 3
python3 --version

Install Package

npm install @emurgo/msl-mobile-bridge --save

Usage

import { COSESign1Builder } from '@emurgo/msl-mobile-bridge';

See more examples in example/app/examples.


🛠 Development Setup

For contributors and library developers.

Quick Start

Ensure Requirements are installed first.

# 1. Setup Rust targets (or install manually as shown in Requirements)
./setup-rust-environment.sh

# 2. Install dependencies
yarn install && yarn prepare

# 3. Run example app
yarn example ios    # or: yarn example android

Prerequisites

| Tool | Version | Check Command | |------|---------|---------------| | Node.js | ≥ 18.0.0 | node --version | | Yarn | ≥ 3.6.1 | yarn --version | | Rust | ≥ 1.70.0 | rustc --version | | Xcode | Latest | xcodebuild -version | | Java JDK | 17 | java -version | | Android NDK | 27.0.12077973 | ls $ANDROID_HOME/ndk/ |

Environment Variables

Add to ~/.zshrc (or ~/.bash_profile):

# Java
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home

# Android
export ANDROID_HOME="$HOME/Library/Android/sdk"
export ANDROID_SDK_ROOT="$ANDROID_HOME"
export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/27.0.12077973"
export PATH="$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools"

# Rust Android Gradle
export RUST_ANDROID_GRADLE_PYTHON_COMMAND="python3"

Then run source ~/.zshrc to apply.

Android NDK Installation

⚠️ NDK version 27.0.12077973 is required. Other versions will cause build failures.

  1. Open Android Studio → Settings → Android SDK → SDK Tools
  2. Check Show Package Details
  3. Expand NDK (Side by side) → Select 27.0.12077973
  4. Click Apply

Java JDK 17

brew install --cask zulu@17

Rust Targets

Use the setup script or install manually (see Requirements):

./setup-rust-environment.sh

Running the Example App

# iOS
yarn example ios

# Android (start emulator first)
yarn example android

# Metro bundler only
yarn example start

Troubleshooting

Quick Diagnostics

echo "JAVA_HOME: $JAVA_HOME"
echo "ANDROID_HOME: $ANDROID_HOME"
echo "ANDROID_NDK_HOME: $ANDROID_NDK_HOME"
rustup target list --installed | grep -E "(ios|android)"

Common Issues

NDK version mismatch

ls "$ANDROID_HOME/ndk/"
# Must have 27.0.12077973 - install via Android Studio SDK Tools

Rust build failures

./setup-rust-environment.sh
rustup update
cargo clean

iOS build failures

cd example
rm -rf ios/build
pod install --repo-update
cd ..
yarn example ios

Android Gradle failures

cd example/android && ./gradlew clean && cd ../..
yarn example android

Metro cache issues

yarn example start --reset-cache

Port 8081 in use

lsof -ti:8081 | xargs kill -9

Clean Reinstall

rm -rf node_modules example/node_modules
yarn install
yarn prepare

Resources