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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@qlik/react-native-helium

v2.0.3

Published

Skia base JSI renderer for Picasso and Nebula

Readme

@qlik/react-native-helium

Skia base JSI renderer for Picasso and Nebula

Running

To build, develop and run, please see https://github.com/qlik-oss/react-native-carbon

Build Guide: Harfbuzz, ICU & Skia

This document provides instructions for building Harfbuzz, ICU and Skia for Android and iOS platforms.


⚙️ Prerequisites

Before building, ensure you have the following tools installed and correctly set up.

🔹 Common Tools

| Tool | Required For | How to Check | |------|--------------|--------------| | Git | Clone repositories | git --version | | Python 3 | Meson build system | python3 --version | | Ninja | Build system backend | ninja --version | | CMake (≥3.18) | Android build | cmake --version | | Meson (≥0.60) | iOS build | meson --version | | pkg-config | Dependency discovery | pkg-config --version |

🔹 Android Specific

| Tool | Required For | How to Check | |------|--------------|--------------| | Android Studio / SDK | SDK + NDK setup | Open Android Studio > Preferences > SDK | | Android NDK (≥23.1) | CMake builds | ls $ANDROID_HOME/ndk/ | | Java (JDK ≥11) | Gradle + build tools | java -version |

👉 Set environment variables in your shell config (~/.zshrc or ~/.bashrc):

export ANDROID_HOME=$HOME/Library/Android/sdk
export ANDROID_NDK=$ANDROID_HOME/ndk/23.1.7779620
export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$PATH

🔹 iOS Specific

| Tool | Required For | How to Check | |------|--------------|--------------| | Xcode (≥14) | iOS SDKs + compilers | xcodebuild -version | | Xcode Command Line Tools | clang, ar, strip | xcode-select -p | | CocoaPods (optional) | Dependency mgmt | pod --version |

👉 Make sure SDK paths exist:

ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

If these return valid .sdk folders (e.g., iPhoneOS18.2.sdk), you’re good.


📦 Harfbuzz

🔹 Android

Steps

  1. Checkout the branch:

    git clone https://github.com/harfbuzz/harfbuzz.git
    cd harfbuzz
    git checkout <branch>
  2. Create a bash script (e.g., build_android.sh):

    #!/bin/bash
    set -o errexit -o nounset
    cd build/android
    
    cmake ../..      -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake      -DANDROID_ABI=arm64-v8a      -DANDROID_PLATFORM=android-31      -DCMAKE_BUILD_TYPE=Release      -DHB_HAVE_FREETYPE=OFF      -DHB_BUILD_SHARED=OFF      -GNinja
    
    ninja install
  3. Run the script:

    bash build_android.sh

⚠️ Note: Building Harfbuzz for Android using Meson currently has known issues. Prefer CMake.


🔹 iOS

Steps

  1. Checkout the branch:

    git clone https://github.com/harfbuzz/harfbuzz.git
    cd harfbuzz
    git checkout <branch>
  2. Create cross files for Simulator and Device builds.

    • Simulator Example (ios_cross_sim.txt)
      (see earlier section for full contents)

    • Device Example (ios_cross_dev.txt)
      (same structure, but with iPhoneOS.platform SDK)

  3. Run Meson setup:

    meson setup --cross-file ios_cross_dev.txt ios_dev_arm64 -Ddefault_library=static -Dtests="disabled"
  4. Build with Ninja:

    ninja -C ios_dev_arm64

📦 ICU

🔹 Android

Steps

  1. Clone the repo & checkout branch:

    git clone https://github.com/unicode-org/icu.git
    cd icu
    git checkout release-70-rc
  2. Create directories:

    icu/icu4c/android
    icu/icu4c/macOS
  3. Copy build script (build_icu_android.sh) into icu/icu4c/android.

  4. Run the script:

    cd icu/icu4c/android
    bash build_icu_android.sh

🔹 iOS

Steps

  1. Checkout the repo:
    git clone https://github.com/dbquarrel/icu4c-xcframework.git
    cd icu4c-xcframework
    git checkout <branch>

✅ With this, you’ll be able to build Harfbuzz and ICU for Android and iOS successfully.


📦 Skia

🔹 Android

Steps

  1. Clone the repository and checkout branch:

    git clone https://github.com/google/skia.git
    cd skia
    git checkout <branch>
  2. Sync dependencies:

    python tools/git-sync-deps
  3. Copy android_lib.sh script to the root directory of the repository.

  4. Run the script:

    bash android_lib.sh

🔹 iOS

Steps

  1. Clone the repository and checkout branch:

    git clone https://github.com/google/skia.git
    cd skia
    git checkout <branch>
  2. Sync dependencies:

    python tools/git-sync-deps
  3. Copy create-framework.sh script to the root directory of the repository.

  4. Run the script:

    bash create-framework.sh

⚠️ Notes

  • Ensure the script paths in android_lib.sh and create-framework.sh are updated correctly before execution.
  • The build process may require additional tools such as Python 3, Ninja, CMake, Xcode (for iOS), Android NDK (for Android).
  • Some dependencies may take time to download when running git-sync-deps.

Note: where ios/headers has a copy of the skia/include folder

✅ With this guide, you can build Skia for Android and iOS.

License

MIT